Portál AbcLinuxu, 11. května 2025 07:33
21916 | 吴 | 分生 | 1 | 瑞安市仙降镇下社村 |Ale když DB dumpuju, kódovaní se zmrší:
(21916,'å�~P´','å�~F�~@| ç�~@~]�V té samé tabulce jsou ale záznamy v Češtině se správnou diakritikou, které se vydumpují korektně. Je divné, že něco se vydumpuje správně a něco ne. Také je zvláštní, že terminál mi přes mysql clienta záznamy zobrazí správně, ale když si ve vi/mcedit/kate otevřu dump, tak je to špatně. Pochází to ze systému, o kterém nic nevím (PHP). Verze: MySQL 5.0.32-Debian_7etch12-log Tabulka: DEFAULT CHARSET=latin1 Server variables:
| character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | | collation_connection | latin1_swedish_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci |V my.cnf není o kódování ani zmínka. Dump vytvářím takto:
mysqldump --default-character-set=utf8 --set-charsetVyzkoušel jsem i --default-character-set=latin1, nebo též použít recode na soubor s dumpem, ale vše bez výsledku. Otázka je, jak koretkně vydumpovat DB?
mysqldump --default-character-set=binaryVyeexportuje tak jak to leží v db, takže lze zjitit co tam vlastně je.
mysqldump -u uzivatel -p --default-character-set=binary --skip-set-charset databaze tabulkalze zjistit jak to tam vlastně je.
(21916,'å<90>´','å<88><86>ç<94><9f>','1','ç<91><9e>å®<89>å¸<82>ä»<99>é<99><8d>é<95><87>ä¸ ...
CREATE TABLE
syntaxi a vlastní data (třeba jen jeden záznam).
CREATE TABLE..
+ jeho nastavení, ketré již napsal, lze určit co je špatně a jak to lze spravit.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.