Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]"SET NAMES utf8" usuwa polskie znaki
Forum PHP.pl > Forum > Przedszkole
Evinek
Witam.

Otóż chodzi o zapytanie:
mysql_query('SET NAMES utf8');

jak i w PDO:
new PDO('mysql:host=localhost;dbname=db', 'root', '*****', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

Usuwa ono polskie znaki. Kodowanie UTF8(pliki[bez BOM], HTML i baza mysql).
W pewnym frameworku to powodowało problem. Na 'sucho' również tak samo jest. Co może być problemem?
Chodzi oczywiście o sam fakt, bo stronka tak czy siak będzie działała dobrze bez tego. Chciałbym tylko znaleźć powód, tak dla siebie, dlaczego te zapytanie rozwala polskie znaki.

Dodam, że w phpmyadmin polskie znaki nie działają (to chyba normalne?).

PHP Version 5.4.7
mysqlnd 5.0.10
mstraczkowski
W phpmyadmin powinny wyświetlać się polskie znaki.
Jesteś pewny, że w bazie masz UTF oraz że wstawione dane w bazie są także w UTF
Evinek



Więcej rzeczy związanych z kodowaniem nie znalazłem.

Pliki na 100% UTF8 bez BOM. Meta charset również ustawione.
Dane były dodawane z formularza przez stronę. Chyba jako UTF8 powinno się zapisać?

@EDIT:
Problem rozwiązany.
W PDO (z SET NAMES UTF8) dodałem na sucho dane z polskimi znakami. W bazie są te polskie znaki jak i na stronie. Reszta jak nie działała tak nie działa, ale już wiem, że to wina danych które nie były dodane jako UTF.
Wielkie dzięki za nakierowanie.
mstraczkowski
Spróbuj wyexportować sobie dane np za pomocą phpmyadmin do pliku *.sql w utf-8.
Otwórz plik np. w Notepad++ jeżeli będą krzaki to masz odpowiedź
Evinek
Zgadza się, krzaczki są.
We wcześniejszym moim poście już dałem rozwiązanie. Jeszcze raz dzięki.
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.