Kódolás mysql táblázatok

Nagyon gyakran, amikor át egy MySQL adatbázis probléma kezdődik kódolási információ jelenik meg az oldalon. Ennek oka lehet az eltérő szoftver verzió, operációs rendszerek, szerver, vagy egyszerűen különbségek miatt a beállításokat.

Kodirova megoldást a problémára MySQL adatbázis meglehetősen egyszerű - csak telepíteni a helyszínen PhpMyAdmin forgatókönyvet, és adja meg néhány parancs, hogy kell küldeni a MySQL.

Nézzük meg a problémát részletesebben, mi lenne mindenki megtalálja a megfelelő beállítást, és megoldja a problémát. Én személy szerint volt egy eset a közelmúltban, hogy az átutalás a webhelynek a dekoráció tükör és üveg a transzfer a helyi gépről az internetre, az oldalak kompr cikkek jelentek meg a kockák és kérdőjelek. Amit nem tudom, amíg olvastam néhány hasznos cikkeket. A Tanács úgy határozott, hogy tegye ki egy oldalra. Használd ki!

FreeBSD

  • mysqldump -u -p -default-karakter-készlet = cp1251 dbname tablename> dump_table.sql

Annak érdekében, hogy töltse le a fájlt, az adatokat a megfelelő kódolás, meg kell szúrni a legelején a fájl egy pár sort, ami csak azt jelzik, MySQL, milyen kódolást használni kívánt:

  • SET NAMES cp1251;
  • SET CHARACTER SET cp1251;

Aztán a letöltött fájlt a számítógépre, és itt miután mysql.exe importálja be a helyi adatbázisban. Nyitott a MySQL Query Browser, magyar szöveg! Hurrá! De ez csak a kezdet ... eltávolítva egy pár sort. Fordított export MySQL 4.0 sikertelen volt. Pontosabban kiderült, csak a kínai. MySQL Administrator ez is sikerült, bár minden beállítás helyes.

Próbálja ki a következő parancs a MySQL konzol:

  • mysqldump -u -p adatbázisnévre tablename> dump_table.sql

Meg kell segíteni. Ha az ok nem szűnik meg, produem más lehetőség.

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ó utf8 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 = utf8
  • karakterkészlet-server = utf8
  • egybevetés-szerver = utf8_general_ci
  • init-connect = »SET NAMES utf8"
  • Átugrani-karakterkészlet-client-kézfogás

Az utolsó két sor arra kényszerül, hogy utf8 kódolást minden lekérdezést.

Szakaszban [mysqldump] elég hozzá csak

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

Ha azonban ahelyett, hogy az importáló az adatbázis a magyar betűk kibocsátott karakterek vagy kérdőjel, ez azt jelenti, hogy a lerakó-ben készült egy kódolási eltérő utf8. Rework billenő utf8 vagy újra-kódolás a kívánt kódolás használatával a iconv vagy recode segédprogramok. Élek telek után az adattár, amely értékesíti a film tükrök és üveg kezdett működjön.

Kódolás MySQL lekérdezés

Tehát alapértelmezés szerint az összes tárgyat telepített bázis kódolás latin1, és ha egy olyan területen, egy kódolt tolja a magyar adatok helyett a karakterek látni fogja a kérdőjel. A probléma elkerülése érdekében, elegendő megállapítani, ha megteremti a szükséges kódolás:

  • CREATE DATABASE yourbase CHARACTER SET 'cp1251'

Ebben az esetben, alapértelmezés szerint minden területen lesz nevezték a kódolás, ha létrehoz egy adatbázist, vagy más területeken nem adja. Azaz, ha egy adatbázis létrehozása a semmiből elég megadni a kódolás, és minden rendben lesz. De ha módosítja az adatbázis már korábban létrehozott, változó kódolás nem fogja megváltoztatni a karakterkészletet már létrehozott mezők - kell őket változtatni manuálisan útján a következő parancsokat:

  • ALTER TABLE diákok nevet változtat nevet varchar (100) karakterkészletet 'cp1251'

A típusú mezőkkel változatlanul kell hagyni, csak akkor kell változtatni a karakter (karakterkészlet).

Ahhoz, hogy jól működik az kódolás maradt egy dolog - az összeköttetés létrehozása után, meg kell adni a kívánt karakterkészletet a lekérdezés:

By the way, a teljes listát a kódolás által támogatott szerver elérhető parancsok segítségével

UTF8 kódolás

Annak érdekében, hogy hozzon létre egy MySQL adatbázist, akkor egyszerűen csak tudja, néhány jellemzője a munka az adatbázisban.

Ezután meg kell változtatni a karakterkészletet az asztalokat, amelyek által létrehozott alapértelmezett (ha az alap nem üres, akkor a kódolás meglévő táblákat változatlan marad). Ezt megteheti az SQL-lekérdezés:

  • ALTER DATABASE `gb_rek_jabber` alapértelmezett karakterkészlet utf8 LEVÁLOGAT utf8_unicode_ci;

Könyvek és oktatóanyagok MySQL

Végül, azt tanácsolom, hogy töltse le és olvassa el (vagy legalábbis hagyja, amíg jobb idők a számítógép) is számos önsegítő és MySQL lekérdezés nyelv különösen. Ott és a kódolás MySQL!

Kapcsolódó cikkek