Archiwa tagu: polskie znaki

mysql brak polskich znaków po imporcie

Zdarza się, że po imporcie bazy do mysqla nie ma poprawnych znaków. Problem może występować nie tylko w samej bazie lub w pliku z importem, ale także na połączeniu klient/serwer.

Konwertujemy plik baza.sql z utf8 do iso8859-2
iconv -f utf8 -t iso8859-2 baza2.sql

do pliku baza2.sql na początku dopisujemy SET NAMES utf8;

wykonujemy import:
mysql -uuser -phaslo baza

Teraz sprawdzamy czy w bazie jest poprawnie?
# locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"

W /etc/mysql/my.cnf w sekcji [mysql] ma być:
default-character-set=utf8
teraz z poziomu shella i polecenia mysql sprawdzamy SELECTem czy w jakiejś tabeli są prawidłowe polskie znaki. Jeśli tak, pozostaje sprawdzić czy przez php też są polskie litery. Jeśli nie ma to po mysql_connect a przed wydaniem komend na bazie dodajemy polecenie SET NAMES utf8; Czyli:
mysql_query("set names utf8" );