sql >> Databasteknik >  >> RDS >> Oracle

Något fel med att använda Windows-1252 istället för UTF-8

Windows 1252 är en av många många teckenuppsättningar med fast storlek. Mac har sin egen uppsättning. det finns några ISO för olika delar av Europa och för vissa andra delar av världen. De flesta av dem har små variationer.

Det som är bra är att du har ett tecken med fast storlek, vilket betyder 1 tecken =1 byte oavsett vad.

De dåliga punkterna är:

  • Vissa personer kanske inte har din kodning installerad
  • Vissa människor kan använda en något annorlunda kodning, vilket resulterar i väldigt få problem, inte uppenbara att se, men väldigt fula i det långa loppet
  • Du kan bara stödja ett fåtal språk

Det inkluderar alla citat du vill göra. I Windows-1252 kan du inte visa ryska, grekiska, polska ...

UTF-8 är standardkodningen för unicode-representation på 1+ byte. Det kan representera en mycket stor majoritet av de tecken du kan stöta på, även om den är designad för latinbaserade språk, eftersom andra språk tar mer lagringsutrymme.

Det används i XML, JSON och de flesta typer av webbtjänster du kan hitta. Det är en bra standard när du inte vet vilken kodning du ska använda. Det tillåter att begränsa antalet kodningsproblem, till exempel "Jag trodde att du var i Latin-1 / Nej, jag använde latin-9, men då använde den här killen på mac Roman". Om du har fler än 1 personer som arbetar med innehållet på webbplatsen kan de ha olika kodningar på sin plattform, och därför kan ditt innehåll förstöras någon gång.

UTF-8 är, så vitt jag vet, det enda sättet att enkelt standardisera den kodning som används mellan människor utan diskussion.

Ett typiskt exempel är att om din webbplats är kodad i windows1252 och den nya utvecklaren har en mac, kommer du förmodligen att ha problem.



  1. Hur undkommer man dollartecken i mysql när det körs med kommandoraden?

  2. Kunskap om att återställa raderade poster i SQL Server

  3. använder enctype=multipart/form-data med arabiska språk

  4. Bas 36 till Base 10 konvertering med endast SQL