Kære EBAG, Vi har en enkelt arabisk blokere i Unicode som indeholder både arabisk og persisk tegn.
06CC er persisk ی
og 064A er arabisk ي
Standard Windows-tastatur bruger code page 1256
for arabiske tegn, der sætter 064A
som standard ي
for både persiske og arabiske brugere, fordi arabiske brugere er meget mere end persiske.
ISIRI
lav et standardtastatur ISIRI 9147
og indsæt både arabisk og persisk Yeh
på det, men Perisan ی
er standardtegnene. Persiske brugere, der bruger standardtastatur, vil sætte (og bruge) standard persisk ی while the rest of them use arabic
í`.
Som du normalt sagde, mens vi gemmer data i databasen, ændrer vi arabisk ي
til persisk ی
og når vi læser fra den, går vi bare efter persisk, så alt er sandt.
den anden tilgang er at bruge en JavaScript-fil i webapplikationen til at kontrollere brugerinput. de fleste af de persiske websteder bruger denne tilgang til at gemme tegn i databasen. I denne metode behøver brugeren ikke at installere noget tastaturlayout til persisk eller arabisk tastatur. Han/hun satte bare tastaturet på English
og derefter i JavaScript
filudvikler kontrollere, at hvilken karakter er ens for ham. Her
du kan finde ISIRI 9147 javascript
til webapplikation og en persisk guide til at bruge det.
den tredje tilgang er at bruge et skærmtastatur, der fungerer ligesom det forrige med en brugergrænseflade og normalt er godt for dem, der ikke er fortrolige med persisk tastatur.
Den fjerde tilgang er at søge i begge dialekter. Som du ved, når du installerer MySql
eller SQL Server
du kan indstille collation
og du har også mulighed for at understøtte dialekt (og følsomhed for store og små bogstaver). hvis du aktiverer arabisk sammenstilling med dialekt, kan du få resultater for dem begge, og normalt fungerer dette fint i sql server
Jeg tester det ikke i MySql
. Dette er den bedste løsning endnu.
men hvis jeg var dig, implementerer jeg en simpel sql function
som får nvarchar
og returner nvarchar
. så kalder jeg det, når jeg ville skrive data. og når du vil læse, kan du gå efter standarden.
Undskyld den lange hale.