mysql és ékezetek
hello
az a problémám, hogy mikor ékezetes betűket szeretnék tárolni mysql táblában akkor az ékezetes betűket egyszerűen nem teszi bele (a tábla utf-8 kodolású) az ű és ő kivételével;
a régebbi mysql verzióval működött rendesen, hiba nélkül;
azt már sikerült elérnem, hogy átalakítsam a szöveget a htmlentities() függvénnyel, így viszont az ű és ő betűk rakoncátlankodnak, pontosabban kiíráskor a html kódjuk jelenik meg;
hogyan tudnám elérni, hogy minden ékezetes betű olvasható formában jelenjen meg?
kösz
bal
■ az a problémám, hogy mikor ékezetes betűket szeretnék tárolni mysql táblában akkor az ékezetes betűket egyszerűen nem teszi bele (a tábla utf-8 kodolású) az ű és ő kivételével;
a régebbi mysql verzióval működött rendesen, hiba nélkül;
azt már sikerült elérnem, hogy átalakítsam a szöveget a htmlentities() függvénnyel, így viszont az ű és ő betűk rakoncátlankodnak, pontosabban kiíráskor a html kódjuk jelenik meg;
hogyan tudnám elérni, hogy minden ékezetes betű olvasható formában jelenjen meg?
kösz
bal
ahogy beírod, úgy fog kijönni.
htmlentities: nem használod véletlenül kiíráskor is? akkor nem kell.
káosz
ez ugye latin1?
az adatbázis szerveren a következő beállítások vannak:
MySQL karakterkészlet: UTF-8 Unicode (utf8)
MySQL kapcsolat egyeztetés: utf8_general_ci (ez nem tudom micsoda pontosan?)
az egyes táblák Egybevetés paraméterei: (ezt sem értem pontosan, ugyan az mint a MySQL Front összeolvasás értéke?)
ami régi mysql-ben készült: latin2_hungarian_ci
ami 4.1-ben :utf8_general_ci
ez az én hanyagságom, hogy szinte minden paraméter különbözik (már amiket én választok meg), de ez így a szerveren jól működik, nálam nem;
akkor most milyen karakterkészletet is kéne használnom?
Káosz az van.
Majdnem zsír mindegy, hogy mi a collation, ezek inkább a DBMS belső működésére hatnak (pl. rendezés). Abba, hogy milyen adatokat küldsz be, nem foglalkozik. (Legalábbis nekem eddig nem kezdett magánakciókba :).
Bővebben:
http://dev.mysql.com/doc/mysql/en/charset-literal.html
http://en.wikipedia.org/wiki/Collation
--
Aries
http://aries.mindworks.hu
még káosz
2 válasz:
- a régi mysql (phptriados) 3.23 (vagy hasonló, nem emlékszem pontosan);
- phpMyAdmin 2.6.1-pl3; itthon mysqlFrontot használok (3.2);
1 kérdés:
tehát ha az oldal charset utf8, akkor az adatbázisé is legyan utf8?
1 tény:
a probléma, hogy nem íródik a kívánt szöveg (ékezetes) az adatbázisba csak itthon jelentkezik (mySql 4.1 szintén), a weben (uw) kifogástalanul működik;
még 2 kérdés
ez hogyan lehetséges?
milyen betűkészletet célszerű használni?
köszönöm türelmed
bal
Célszerű egyeznie
Célszerű egyeznie a karakterkészletnek, hiszen az adatbázis tárolja az adatokat, olyan formában, amilyenben Te mondod. Ha ezt meg akarod jeleníteni, akkor szélszerű ugyanabban a karakterkészletben feltölteni, mint amelyikben ki akarod nyerni. Term. a kliens beállításaival lehet játszani, de úgyis csak keveredés van belőle. Ha rajtad múlik, akkor használj UTF-8 -at, az úgyis elég alap manapság.
Az uw-t nem ismerem, erről nem tudok nyilatkozni.
--
Aries
megyeget
kösz a segítséget;
most már megyeget a dolog (legalábbis van ékezet), de csak htmlentities()-zel, majd még csiszolok rajta;
azt még szeretném megkérdezni, hogy te milyen klienst használsz, mert nekem a front mostanában kicsit lesántult (pl.: nem enged egy egész adatbázist exportálni, csak táblánként);
köszi
bal
kliens
PHPMyAdmint legtöbbször, de gyakran (főképp import/export dolgok esetében, mert a PHPMyAdmin kefélt már el nekem dolgokat, és napokig keresgettem a hibát) a natúr mysql klienset.
Üdv:
--
Aries
ok kösz;azt hiszem én
azt hiszem én is megvizsgálom a phpmyadmint;
de minden válasz új kérdést vet fel;
a natúr kliens alatt a mysql query browsert érted vagy a parancssori cuccot?
köszi
bal