Beste EBAG, We hebben een enkele Arabische blokkeren in Unicode die zowel Arabisch als Perzisch . bevat karakters.
06CC is Perzisch ی
en 064A is Arabisch ي
Standaard Windows-toetsenbord gebruikt code page 1256
voor Arabische karakters die 064A
. zetten standaard ي
voor zowel Perzische als Arabische gebruikers omdat Arabische gebruikers veel meer zijn dan Perzische.
ISIRI
maak een standaard toetsenbord ISIRI 9147
en zet zowel Arabisch als Perzisch Yeh
erop, maar Perisan ی
is de standaardtekens. Perzische gebruikers die een standaard toetsenbord gebruiken, zullen de standaard Perzische ی while the rest of them use arabic
gebruikt `.
Zoals je gewoonlijk vertelde, veranderen we tijdens het opslaan van gegevens in de database arabisch ي
naar Perzisch ی
en als we ervan lezen, gaan we gewoon voor Perzisch, dus alles is waar.
de tweede benadering is om een JavaScript-bestand in een webtoepassing te gebruiken om de gebruikersinvoer te controleren. de meeste Perzische websites gebruiken deze benadering om tekens in de database op te slaan. Bij deze methode hoeft de gebruiker geen toetsenbordindeling voor het Perzische of Arabische toetsenbord te installeren. Hij/zij zette het toetsenbord gewoon op English
en dan in JavaScript
bestandsontwikkelaar controleren welk teken voor hem gelijk is. Hier
je kunt ISIRI 9147 javascript
. vinden voor webapplicatie en een Perzische gids om het te gebruiken.
de derde benadering is om een schermtoetsenbord te gebruiken dat net als het vorige werkt met een gebruikersinterface en meestal goed is voor mensen die niet bekend zijn met het Perzische toetsenbord.
De vierde benadering is om beide dialecten te doorzoeken. Zoals u weet wanneer u MySql
installeert of SQL Server
u kunt de collation
. instellen en je hebt ook een optie om dialect (en hoofdlettergevoeligheid) te ondersteunen. als je arabische sortering met dialect inschakelt, kun je voor beide resultaten krijgen en meestal werkt dit prima in sql server
Ik test het niet in MySql
. Dit is de beste oplossing tot nu toe.
maar als ik jou was, implementeer ik een eenvoudige sql function
die nvarchar
. krijgen en retourneer nvarchar
. dan noem ik het wanneer ik gegevens wilde schrijven. en wanneer je maar wilt lezen, kun je voor de standaard gaan.
Sorry voor de lange staart.