Mysql kódolás és krakozyably

Ezt a kérelmet ellenőrizni kell a forgatókönyvet, de nem phpmyadmin, ahol más paramétereket lehet beállítani

  1. character_set_client - kódolás, amely adatokat az ügyféltől kapott
  2. character_set_connection - az alapértelmezett mindent a vegyület nem kódoló
  3. character_set_database - alapértelmezett kódolást az adatbázisban
  4. character_set_filesystem - fájl kódolása rendszer (LOAD DATA INFILE, SELECT ... INTO OUTFILE stb)
  5. character_set_results - kódolás, amelyben az eredmény lesz kiválasztva
  6. character_set_server - kódolás, ahol a szerver fut
  7. character_set_system - MySQL azonosítók mindig UTF8
  8. character_sets_dir - mappa kódolások

Alapértelmezésben telepítése után mysql szerver, ami telepítve lusta tárhelyszolgáltatóval \ admin van kódolva latin1. Ennek megfelelően a globális változók a fent felsorolt ​​lesz latin1. Az alapértelmezett bázis, illetve, és egy asztal is. És ez az, amit meg kell fizetni az elején kell figyelni, hogy a problémákat nem felszínre később.

Ideális esetben meg kell hozni minden jelentős színkódokkal egyetlen érték. Akkor mi csak lesz kímélni a kisebb hibákat kódolás. Sőt, ha dolgozunk a tárhely, akkor (3) és (6) nem tudjuk befolyásolni. De ez nem ijesztő, ha úgy konfigurálja a másik három paramétert. Mysql Umet átkódoljon röptében megfelelően beállított kódolási kapcsolatot.

Végül, a fő kérdés az, hogy mit kell tenni, ha az egyik mysql táblázatok (vagy több), a rossz kódolás és a honlap látható krakozyably \ voprosiki?

1. Határozzuk meg a kódolási táblázat.

mysql> SHOW CREATE TABLE `files`

CREATE TABLE `files` (

`Id` int (10) unsigned NOT NULL AUTO_INCREMENT.

`INode` int (10) unsigned NOT NULL.

`Pid` int (10) unsigned NOT NULL.

`SName` varchar (128) karakterkészletet latin1 COLLATE latin1_general_ci NOT NULL.

`STitle` varchar (128) karakterkészletet utf8 LEVÁLOGAT utf8_general_ci NOT NULL.

PRIMARY KEY ( `id`).

KEY `iNode` (` iNode`)

) MOTOR = MyISAM DEFAULT CHARSET = utf8

Ebben a táblázatban a mező SNAME kódolt latin1, ha megvan a kapcsolat a különböző kódolás, látni fogjuk, halandzsa.

2. Ezért a következő megvizsgálja a kódoló vegyület, sql lekérdezés SHOW változók, így például „character_set_client”. Megjegyezzük, hogy php mysqli_client_encoding () függvényt. Mi nem fog működni, mert meg csak a kódolás idején kapcsolatot.

3. Ha a kódoló vegyület nem egybeesett a kódolás egyik mező az asztal, a két nyilvánvaló választás.
Ha van az összes asztal egy kódolás, akkor könnyebb változtatni a kódolás a kapcsolatot.
De hogyan erősít a hibás kódolás tábla területén?
Teljesíteni ezt a kérést 2