Mysql-databasestyringssystemet, der starter fra version 4.1, understøtter arbejde med kodninger. De største problemer med dem opstår, når du forbinder en database med Php. I dette tilfælde skal kodningen af basens indhold og forbindelsen matche.
Instruktioner
Trin 1
Bemærk, at en almindelig årsag til problemer med Mysql er, at standardkodningen for databaser er indstillet til latin1. De fleste af de tilsluttede klienter er også konfigureret til det, du indtaster data og ser resultaterne ved hjælp af det også. Selvom denne kodning viser det kyrilliske alfabet korrekt, svarer koderne i symboltabellen i det ikke til de rigtige kyrilliske tegn. Derfor kan søgning og sortering af data give helt uforudsigelige resultater.
Trin 2
Skift databasekodning til en, der korrekt viser kyrilliske tegn, for eksempel utf-8 eller cp1251. For at gøre dette skal du konvertere dataene fra Latin1-kodning til cp1251. Brug ikke enkel datakonvertering, da tegnkoderne er forkerte. Derfor skal du slippe af med deres kodningsbinding. For at gøre dette skal du konvertere data og karaktertype til binære data. Brug forespørgslen Skift tabel "Indtast tabelnavn" t1 skift c1 c1 klat.
Trin 3
Kør en forespørgsel for at ændre kodningen af Mysql-databasen. Brug dette eksempel til følgende: Ændr tabel "Indtast tabelnavnet" t1 skift c1 c1 tekst chat-sæt "Indtast navnet på den ønskede kodning, for eksempel cp1251". Ikke en enkelt byte med data ændres fysisk, men reglen om dannelse af tegn ændres. Derefter kan du bruge en simpel forespørgsel om datakonvertering for at ændre databasekodningen.
Trin 4
Bemærk, at når du ændrer tabelkodninger i et felt, der indeholder indekser, skal du slette dem og genskabe dem, dvs. genopbyg i alle databasetabeller. Når du skifter til kodning, skal du sørge for, at visuelle klienter understøtter unicode. For eksempel viser SQLyog-klienten forkert indholdet af tabeller, der gemmer data i utf-8-kodning.