sql >> Database teknologi >  >> RDS >> Oracle

Der er noget galt med at bruge windows-1252 i stedet for UTF-8

Windows 1252 er et af de mange mange tegnsæt med fast størrelse. Mac har sit eget sæt. der er nogle få ISO for forskellige dele af Europa og for nogle andre dele af verden. De fleste af dem har små variationer.

Den gode pointe er, at du har et tegn med fast størrelse, hvilket betyder 1 tegn =1 byte uanset hvad.

De dårlige punkter er:

  • Nogle personer har muligvis ikke din kodning installeret
  • Nogle mennesker kan bruge en lidt anden kodning, hvilket resulterer i meget få problemer, ikke indlysende at se, men meget grimme i det lange løb
  • Du kan kun understøtte nogle få sprog

Det inkluderer ethvert citat, du gerne vil lave. I windows-1252 kan du ikke vise russisk, græsk, polsk ...

UTF-8 er standardkodningen for unicode-repræsentation på 1+ bytes. Det kan repræsentere et meget stort flertal af de tegn, du kan støde på, selvom det er designet til latin-baserede sprog, da andre sprog tager mere lagerplads.

Det bruges i XML, JSON og de fleste typer webtjenester, du kan finde. Det er en god standard, når du ikke ved, hvilken kodning du skal bruge. Det giver mulighed for at begrænse antallet af kodningsproblemer, såsom "jeg selvom du var på latin-1 / nej, jeg brugte latin-9, men så brugte denne fyr på mac romersk". Hvis du har mere end 1 personer, der arbejder med indholdet på webstedet, kan de have forskellige kodninger på deres platform, og dit indhold kan derfor på et tidspunkt blive rodet.

UTF-8 er, så vidt jeg ved, den eneste måde, hvorpå man nemt kan standardisere den kodning, der bruges mellem mennesker uden diskussion.

Et typisk eksempel er, at hvis dit websted er kodet i windows1252, og den nye udvikler har en mac, vil du sandsynligvis være i problemer.



  1. MySQL kæmper med forespørgsler i et til mange forhold, der matcher flere betingelser

  2. Sådan opretter du en unik begrænsning på flere kolonner i SQL Server - SQL Server / TSQL vejledning del 96

  3. Php pdo indsæt forespørgsel

  4. Kan ikke bruge kolonnenavne i udvalgte forespørgsler på sqlfiddle (oracle)