Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpMyAdmin - problemy z kodowaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
bartos
Witam!

Mam następujący problem. W bazie jest tekst zawierający polskie znaki diakrytyczne. Na stronie znaki są wyświetlane, a w narzędziu phpMyAdmin nie. Jeśli dodam do bazy nowy rekord przy użyciu phpMyAdmin to znaki są wyświetlane poprawnie w tym narzędziu lecz na stronie już nie.

System kodowania dla bazy danych: utf8.

Próbowałem już każdego systemu porównań w phpMyAdmin jednak bez powodzenia. Wersja phpMyAdmin to 2.6.1-pl3.

Jakieś sugestie?
Pyrfee
Miałem ten sam problem i po przewertowania internetu wyszło na to, że jedyny sposób jak narazie to stworzenie sobie formularza do wrzucania informacji zamiast robienia tego przez phpmyadmina. Tak też zrobiłem i działa bez problemu smile.gif oczywiście teraz mam krzaki w phpmyadminie ale już mnie to nie obchodzi winksmiley.jpg Przy przerzucaniu bazy trzeba będzie zrobić konwerter ale to już małe piwo.
TomASS
Jeśli wpisuje do bazy dancyh przy pomocy jakiegoś formularza dane (z jakimś kodowaniem - takim samym jak na stronie) i później na stronie wyświetlasz te same dane (z tym samym kodowaniem) to wszystko jest ok. Przy importowaniu dancyh możesz spróbować funkcję iconv.
bartos
Problem nie dotyczy importowania danych lecz wprowadzania danych do bazy przy użyciu narzędzia phpMyAdmin. Mimo to dzięki za odpowiedź.

Czy ma ktoś inną propozycję? Pomijam możliwość wprowadzania danych przy użyciu zewnętrznego formularza.
revyag
Spróbuj tego co podał FIDO: http://forum.php.pl/index.php?showtopic=36202&hl=
Bakus
Czy istnieje jakiś sposób wymuszenia na kliencie mysql (php_mysql.dll) by połączenie rozpoczytnał wykonując SET NAMES latin2 ?
Na localu mam obecnie win... Ustawianie wykonywania w/w SQLa w skryptach nie ma sensu, bo na serwerze produkcyjnym działają, a nie chcą działać na localu. Ustawienia FiDO nic nie dają sad.gif
bartos
Problem rozwiązałem następująco. Jeśli nie ma możliwości edycji pliku konfiguracyjnego bazę danych to najlepiej zaraz po połączeniu z bazą danych wykonać następujące zapytania:

mysql_query("SET NAMES 'latin2'");
mysql_query("SET CHARACTER SET 'latin2_general_ci'");

Jeśli kodowanie jest zgodne z phpMyAdmin'em to nie pojawiają się już problemy przy dodawaniu rekordów z wykorzystaniem phpMyAdmin.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.