Staram się wrzucić do tabeli dane z pliku tekstowego (zapisanego w formacie UTF-8, programem Gżegżółka).
Oto fragment pliku:
Kod
1;robić;N
2;opłata;N
3;Łodź;N
2;opłata;N
3;Łodź;N
W bazie mam ustawione kodowanie wszystkiego na UTF-8 oraz collation na utf8_polish_ci.
Polecenie:
LOAD DATA INFILE 'plik' INTO tabela FILEDS TERMINATED BY ';'
Po imporcie tabela ma taką zawartość:
Kod
1;robi;N
2;op;N
3;;N
2;op;N
3;;N
Po prostu jak napotka polski znak to nie importuje dalej tylko przechodzi do nastęnego pola. Oprócz tego (ładuję z poziomy mySQLa na localhost) dostaję 35 warrnings (tyle ile pierwszych w ramach pola wystąpnień polskich znaków)
po
SHOW WARNINGS;
dostaję
Kod
Data truncated for column 'ble' at row x
oczywiście rows x zawiera polski znak.
Macie jakieś pomysły dlaczego tak się dzieje?
PS. uzupełnianie tabeli z poziomu przeglądarki poprawnie wstawia polskie znaki w kodowaniu utf8.
Jeszcze jedna dziwna rzecz
po wykonaniu polecenia
Kod
[root@serwer]# mysqladmin variables
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_polish_ci |
| collation_database | utf8_polish_ci |
| collation_server | utf8_polish_ci |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_polish_ci |
| collation_database | utf8_polish_ci |
| collation_server | utf8_polish_ci |
natomiast jak wykonam
Kod
mysql>SHOW VARIABLES;
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_polish_ci |
| collation_server | utf8_polish_ci |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_polish_ci |
| collation_server | utf8_polish_ci |
czego juz w ogóle nie trybię