Sziasztok!
Hátha tudtok nekem segíteni az alábbi problémában.
Új szerverre költöztetnék egy oldalt, a régi szerveren a Sarge kiváló 4.0.24 -es MySQL volt, az új szerverre pedig Etch került 5.0.32 MySQL-el.
Kidumpoltam az adatbázist a régi szerverről ami latin1 swedish karakterkészlettel futott, azt gondoltam, hogy nem fog simán menni az UTF8 átállás, de hát majd jól megoldom "sed"-el, aztán rájöttem, hogy nem.
Szerintem a probléma már a dumpolásnál kezdődhet, mert az ékezetes karakterek helyén többnyire "." van .
Valamit elsz@rok a dumpolásnál?
mysqldump --user=root --password=pass --default-character-set=latin1 mydb > mydb.sql
- 1064 megtekintés
Hozzászólások
Nem feltétlen a fájl kódolása és a konsolod kódolása nem egyezik akkor egyes karakterek helyett láthatsz ".".
Próbáld megnézni hexaban.
- A hozzászóláshoz be kell jelentkezni
esetleg probald charset data nelkul dumpolni (compatible=....), es ugy vissza az 5.x-be
t
- A hozzászóláshoz be kell jelentkezni
Mi dolgozik az adatbázisból?
Csak mert egyáltalán nem biztos, hogy meg fogja azt enni, ha hirtelen egy bájt/karakter helyett UTF8-at talál a mezőkben. Egy mezei strlen (akármilyen nyelven) is rossz eredménnnyel térhet vissza ezek után.
Somindennek van karakterkészlete (és ezen ha változtatsz, az mellékhatással járhat):
-karakter/karaktersorozatot tartalmazó mezők
-az útóbbi rendelkezik collation-nel is
-adattábla
-adatbázis
-szerver
-kliens
-kapcsolat az adatbázissal
-program ami használja az adatbázist az utóbbi kapcsolaton keresztül
-minden, ami az utóbbi program kimenetével dolgozik (böngésző stb.)
-konzol, amin mindezt néz(het)ed
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
mysqldump tud olyat, hogy --default-character-set vagy mi.
ezen kívül a dump elején, mint sql komment ( -- ) benne lesz, hogy milyen karakterkódolással fogja betölteni. ezeket hekkelgesd, aztán jólesz ám.
de valóban, sokminden függ a konzolod beállításától is, mert lehet, hogy csak ott látod rosszul...
illetve a mysql parancssori utility-je is állítható karakterkódolás-megjelenítés szempontjából (set names ...)
- A hozzászóláshoz be kell jelentkezni