Csak a kódolási mysql

A kódolási Mysql sok információ van írva, sok keresték, de ítélve az összeg az ilyen új kérdések és kihívások még mindig sokan nem értik őket.

Ahhoz, hogy elkezdjük magyarázni az alapvető fogalmakat általában:

Mi az a karakterkódolás (karakterkészlet):
Tegyük fel, hogy a szimbólumok az "A", "B", "a", "b". Mi rendelni minden karakter egy bizonyos kód: "A" = 0, a "B" = 1, az "a" = 2, "b" = 3.
Ie "A" - a 0 - kódot.
Ily módon a kombináció az összes karakter, ezek kódjait hívják kódolás.

Például, az "A" kódoló cp1251 = xC0. és UTF8 = xD090

Hogy egy ilyen összehasonlítás (egybevetés):
Tegyük fel, hogy meg kell összehasonlítani a szimbólumok „A”, „B”.
A legegyszerűbb esetben, meg kell venni a kódokat, és hasonlítsa össze a kódokat magukat. Ie ahol: "A" = 0, a "B" = 1 és 0 <1 соответственно «А» <«Б». То, что мы сделали и называется сравнением (collation). Этот простейший метод сравнения, по кодам, называется бинарным (binary).

Mi van, ha meg kell vizsgálni, a kis és nagy betűk megfelelője ( „A” = „a”). Tehát össze szavakat álló karaktereket? Ehhez meg kell használni egy másik módszere az összehasonlítás kis-és nagybetűket (kis-és nagybetűk).

Ezért meg kell választani a megfelelő mysql egybevetés.

Ami a kódolást a MySQL

MySQL használják:

  1. adatok tárolására egy adott kódolási (megadott - character_set_database)
  2. összehasonlítjuk a tárolt adatokat különböző módokon (egybevetés) (collation_database)
  3. adatoknak a felhasználó a kívánt kódolást is (character_set_results), és nem csak a tárolt.
  4. részesülő a felhasználó az adatokat különböző kódolásokat, a kódolás átalakítás az adatbázisban. (Character_set_client)

Mindegyik paramétereket lehet beállítani a következő munkafázisokat a MySQL:

  • minden mysql szerver
    (Paraméterek: character_set_server, collation_server),
  • Egyetlen adatbázis
    (Paraméterek: character_set_database, collation_database),
  • Az aktuális kapcsolat az adatbázissal
    (Paraméterek: character_set_client, character_set_connection, character_set_results
    Vagy kérdések:
)
  • Egyetlen tábla
    (A kérelem létrehozásakor az asztalra:

    Így hibák fordulnak elő:
    - ha az adatok tárolása egy, de hangsúlyozta, hogy más kódolást;
    - Helytelen összehasonlítási módszert - téves válogatás;
    - te megpróbál az alapértelmezett az adatok kódolva, és nem az, hogy szükség van.

    Miután foglalkozott most ezt a cikket, akkor már nem lesz hiba a helytelen kódolás vagy osztályozás MySQL.

    PS: Egy nap, gondjaim voltak a válogatás. Először azt hittem, az oldalsó kódolás, aztán kiderült, hogy ez a hiba oka max_sort_length paraméter (szám leválogatott karakter) Kérdés: SELECT @@ max_sort_length;

    Hozzászólás navigáció

    Köszönöm a tanulságos cikket ... biztos vagyok benne, hogy ez az ő veszi.

    Kapcsolódó cikkek