Mysql 4.1 & utf8
Hello!
Adott egy 4.0-ás mysql, amit 4.1-re szeretnék frissíteni. Ezzel együtt szeretném a latin1/2 típusú tábláimat utf8 típusúvá alakítani a bennük levő tartalommal együtt. A mysql leírása szerint ALTER TABLE <tábla> CONVERT TO CHARACTER SET utf8 parancs meg is teszi ezt. A parancs lefut, de a tartalom kódolása nem változik. Az egyes oszlopok felveszik a utf8-as kódolást, de a tartalom nem.
Érdekelne, hogy találkoztatok már valaki ilyennel vagy tudtok esetleg valamilyen más egyszerű megoldást, amivel az adatokat át tudnám konvertálni.
Kösz,
Hubidubi
■ Adott egy 4.0-ás mysql, amit 4.1-re szeretnék frissíteni. Ezzel együtt szeretném a latin1/2 típusú tábláimat utf8 típusúvá alakítani a bennük levő tartalommal együtt. A mysql leírása szerint ALTER TABLE <tábla> CONVERT TO CHARACTER SET utf8 parancs meg is teszi ezt. A parancs lefut, de a tartalom kódolása nem változik. Az egyes oszlopok felveszik a utf8-as kódolást, de a tartalom nem.
Érdekelne, hogy találkoztatok már valaki ilyennel vagy tudtok esetleg valamilyen más egyszerű megoldást, amivel az adatokat át tudnám konvertálni.
Kösz,
Hubidubi
Mysql 4.1
phpmyadmin
RTFM?
ALTER TABLE
parancs csak arra való, hogy a kódolást állítsd át, de nem a tartalmat konvertáld.van viszont egy
CONVERT()
nevű függvény.ezt belekombinálva egy
UPDATE
parancsba eredményt lehet elérni, aszemALTER TABLE `új_tábla` CONVERT TO CHARACTER SET 'utf8';
INSERT INTO `új_tábla` SELECT * FROM `régi_tábla`;
DROP TABLE `régi_tábla`;
ALTER TABLE `új_tábla` RENAME TO `régi_tábla`;
INSERT INTO ... SELECT
-nél nem szabad semmi bajnak történnie, mert (szvsz) utf8-ba bármiből lehet konvertálni ...bbalint
Nem
....
language=valami/mysql/share/hungarian
character-sets-dir=valami/mysql/share/charsets/
default-character-set=latin2
default-collation=latin2_hungarian_ci
.....
A saját gépemen lévő fejlesztőkörnyezetet szeretném úgy beállítani, hogy ne legyen gond, ha a szerverre pakolok (oda-vissza). A szervert nem tudom befolyásolni, azon iso 8859-2 karakterkészlet van. Lehet, hogy valami fogalomzavarban vagyok, segítsetek ki legyetek szívesek.
Kösz!
phpmyadmin
manual
vagy
Mint mondtam
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
Itt rosszul jelenik meg az ékezet.
Egy szerveren lévő phpmyadmin kezdőlapján ezt látom:
Language: akarmi (utf-8)
MySQL karakterkészlet: ISO 8859-2 Central European (latin2)
MySQL kapcsolat egyeztetés:latin2_general_ci
Nálam:
Language: akarmi (utf-8)
MySQL karakterkészlet: Utf-8
MySQL kapcsolat egyeztetés: itt bármit beállíthatok.
Úgy gondoltam, a language a phpmyadmin nyelve, a mysql karakterkészlet a gépemen lévő mysql adatbáziskezelő karakterkészlete, amit a my.cnf-ben tudok váltani. A MySQL kapcsolat egyeztetés, fogalmam sincs micsoda.
Talán így érthetőbb a kérdésem.
Kösz a segítséget!
Üdv!
nem olvastad?
Köszi, olvastam
Nana
Most akkor az egy mondatban említett phpmyadmin és "a megjelenítés" az két különböző dolog? Én ezt úgy értettem, hogy a PHPMyadmin által történő megjelenítésnél van gond.
Bocs!
A phpmyadmin 2.6.0-pl3 elvileg kiírja a mySQL adatbázisszerver által használt karakterkészletet. Bármit csinálok, mindíg utf-8-at ír ki, hiába próbálok a my.cnf-ben karakterkészletet váltani. Beolvassa ezt a fájlt, mert ha direkt rossz hivatkozást írok, hibát jelez.
Apache szerver?
karakterek
Talált valaki megoldást?
Ha phymyadminnal ékezetes karaktereket írok egy mysql 4.1 táblába (akár utf8, akár latin2),
akkor a weblapom nem jeleníti meg jól, annak ellenére, hogy a phpmyadmin jól jeleníti meg.
Tehát a phpmyadmin felületen jól látszanak a karakterek, a sajátomon nem.
Ha én töltöm fel a táblát a
$keres1 = "UPDATE `user` SET `teszt` = '".$_POST['teszt']."' WHERE `name` = 'edit' LIMIT 1 ;";
$eredmeny1 = mysql_query($keres1);
kóddal, akkor minden ok.
(a user tábla karakterkódolása utf8, a $_POST['teszt'] egy text típusú inputbox, és a html charset utf-8.)
Tehát csak a phpmyadminnal van a gond, pedig ő mindent úgy csinál, mintha jó lenne.
És az egész cucc jól mőködik mysql 4.0 alatt...
Mi lehet a megoldás?
Tessék elolvasni
Ha ezután sem világos, akkor még egyszer el kell olvasni - addig, amíg nem lesz világos.
-boogie-
<Nincs cím>
Köszi!