Mysql és orosz kódolást, Design Notes

A probléma akkor keletkezik, ha a munka egy kódolási nem UTF-8 és az adatbázisban tárolt szöveget, például a kódolás cp1251. De MySql nem mindig használja az alapértelmezett kódolást cp1251, különösen, nem mindig az alapértelmezett a kódolási a bázis kapcsolatokat. Emiatt vannak olyan helyzetek, amikor az adatbázis szövegei vannak tárolva egy normális ember által olvasható formában, de a levezetés az adatok az oldalon jelenik meg egyedül „krakozyably” (kérdőjel betűk helyett - „”).

A jelenség elleni küzdelem, akkor az alábbi kérelmek száma, amelyeket el kell végezni, miután minden kapcsolatot az adatbázisban:

Ez általában segít. Az egyetlen hátránya, hogy minden alkalommal kerül sor ennek a felesleges, sőt, igény (nem mondom, de ez további terhelést a szerveren, bár azt feltételezzük, hogy egy kellően nyomorúságos). Mégis vannak olyan helyzetek, amikor nem lehet regisztrálni ezeket a sorokat és mindegyik után egy kapcsolat, ha például bizonyos alkalmazások használata, amelyek közvetlenül az adatbázis, és nem a beállításokat.

A kiszolgálók, amelyek hosting szolgáltatás az orosz oldalak, általában minden rendben, és nincs ilyen probléma (mert van alapértelmezett MySql kialakítva, hogy a munka elsősorban a kódolás cp1251). Ha a webhely olyan külföldi hosting, akkor valószínűleg az egyetlen módja annak, hogy megoldja a problémát a fent leírt módszerrel.

De ha megvan a lehetőség, hogy javítsa ki a konfigurációt MySql szerver, akkor van egy másik megoldás, amelynek végrehajtása Örülök magamnak felfedezett (valahogy „tudta”, hogy lehet valahogy változtatni a beállításokat a MySql, de hogyan kell csinálni, és nem tudtam) 🙂

MySQL és az orosz kódoló WINDOWS-1251

Ma megnézzük, mi kell ahhoz, hogy írjon a konfigurációs fájl /etc/my.cnf konfigurálni szabványos építmények mysql dolgozni kódoló cp1251 alapértelmezett újrafordítás nélkül.

Tekintsük a példát config alapján MySQL 5.x

A [mysqld] szakaszban adja hozzá a következő:

default-karakter-készlet = cp1251
karakter-set-server = cp1251
egybevetés-szerver = cp1251_general_ci
init-connect = »SET NAMES cp1251"
Átugrani-karakterkészlet-client-kézfogás

Az utolsó két sor erőszakkal meghatározott cp1251 kódolás az összes lekérdezés.

Szakaszban [mysqldump] elég hozzá csak

Ez elég ahhoz, MySQL dolgozni windows-1251 az alapértelmezett kódolást.

Most már használhatja a helyi szerver XAMPP (nos én nem szeretem Denver ...) sokkal kényelmesebb 🙂 is tökéletesen működött a „házi készítésű” szerver futó SUSE.

Minden, amit tettem ... És úgy tűnik, hogy mindent megértett rendesen ... 💡 reményt ... 😀

Jobb lenne írni a cikket, mert minden működik ❗. az ujjak, mint választ adni arra a kérdésre: „Hogyan kell keresni”

Mint minden az adatbázisban van tárolva a kódolás, amelyben ez mind ott van, hogy dugjon, és ennek megfelelően, és a kapcsolatot az adatbázis és a kódolás a legtöbb oldalt az oldal azonosnak kell lennie. Bár vannak kivételek 😯 😯 😯 ❗ ❓

De semmi fordul 🙁
Vettem a tanácsot, kérelmet nyújt cp1251, utf8, latin1, cp866-nem jön ki. Tedd useUnicode = truecharacterEncoding = utf8 (oldalak SPF és Annecy próbáltam) -Nem. A konzol: írásbeli nevek utf8 és próbáltam írni az orosz-mást, csak bináris és latin1.
Nem tudom, hogy mit kell tennie. Saját 5. izom ...

Azt mondja, hogy mindent meg kell írni a SPF. És hogyan?

Tud valaki mondja meg, hogyan kell változtatni a kódolás fleshrolikah orosz. Mint például boxedart webhelysablonhoz
Heather a vaku. Tehát van egy szó, át betöltött ekshnskript változóként lehet változtatni. És a kérdés: hogyan lehet beállítani a változók értékeit az orosz. Amikor megpróbált csinálni ki a mezőket. Ha valaki tudja a megoldást parancsra.

És azt pi * d, hogy mindenki, aki még mindig használja a CP-1251. Ez komoly, ezért minden problémát. Sokáig itt az ideje, hogy ismerje el a nemzetközi szabvány UTF8, és használja azt. És rögzítési oda-vissza a projektek CP1251 aki hozzám tehát, hogy Sanchez szó, meg fogják ölni.

„Én is valahogy változtatni a beállításokat a MySql, de hogyan kell csinálni, nem tudom)”
- Ezo, bántok, ha erre. Elsődlegesen nem UNIX admin, majd a programozó 🙂

Segítség tanácsadás mysql cp1251 kódolás
De itt meg kell változtatni a kódolást utf8 cp1251 magán a kiszolgálón kell?
Miért akkor a locale megjeleníti az összes POSIX

Kapcsolódó cikkek