sql >> Database >  >> RDS >> Sqlserver

Japanse/Chinese taalgegevens in SQL Server-tabel

Sorteren is alleen van invloed op de sorteervolgorde, niet op de codering. U moet bepalen wat de codering van uw Chinese en Japanse inhoud is (zie dit ). Als het niet UCS-2 is, heb je een probleem (omdat je niet tegelijkertijd meerdere paginacoderingen kunt ondersteunen). Als het UCS-2 is, moet u ervoor zorgen dat de codering van uw ASP-pagina ook is ingesteld op UTF-8 (en dat de browser dat herkent door de codering correct in te stellen op UTF-8 - zie Weergave/codering).

Of in eenvoudiger bewoordingen:als de toepassing die de inhoud heeft gemaakt geen Unicode-tekens heeft gebruikt, moet u de paginacodering wijzigen als u schakelt tussen Chinese, Japanse en Europese tekens.

Als u Unicode-inhoud correct in uw database hebt gecodeerd en u UTF-8-codering op uw pagina's gebruikt, zou u geen probleem moeten hebben met het weergeven van speciale tekens (zolang u een Unicode-lettertype op de pagina gebruikt):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Ik realiseer me dat ik na verschillende bewerkingen niet erg duidelijk ben, dus laat me wat basisprincipes toevoegen.

Een tekenset is een gestandaardiseerde weergave van een reeks tekens (bijv. ASCII, UNICODE, ...).

Tekencodering is de binaire weergave die wordt gebruikt om tekens van een bepaalde tekenset op te slaan. ASCII heeft zijn eigen codering. Unicode, een zeer grote tekenset die is ontworpen om alle bestaande tekens te ondersteunen, heeft verschillende coderingen (UTF-8, UTF-16, UCS-2, ...).

Alleen Unicode biedt u de mogelijkheid om tegelijkertijd westerse en oosterse inhoud te ondersteunen met dezelfde database- en applicatie-instellingen. Er zijn echter oudere tekensets voor de Chinese en Japanse taal die geen Unicode zijn. Als uw inhoud geen Unicode is (bijvoorbeeld BIG 5), kunt u deze niet weergeven op een UTF-8-gecodeerde webpagina.

Dit kan lastig worden als de toepassing die de inhoud heeft gemaakt één codering heeft gebruikt (bijv. BIG-5) en de database deze heeft opgeslagen als Unicode-gegevens. Als dit gebeurt, kan er informatie verloren zijn gegaan.

U moet zelfs de bijbehorende taalpakketten in Windows installeren om de tekens correct te zien. Helaas zijn coderingsproblemen niet eenvoudig te diagnosticeren.



  1. Manier om meerdere SELECT's te proberen totdat een resultaat beschikbaar is?

  2. Hoe een string te splitsen met scheidingsteken char met T-SQL?

  3. Werk op één na alle dubbele records in de tabel bij in SQL Server

  4. Kan de IN-operator LIKE-jokertekens (%) gebruiken in Oracle?