sql >> Database teknologi >  >> RDS >> Mysql

Tegn ي og ی og forskellen på persisk - Mysql

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.



  1. PDO sløjfe igennem og udskrive fetchAll

  2. Meteor med mysql

  3. Stop (lang) kørende SQL-forespørgsel i PostgreSQL, når session eller anmodninger ikke længere eksisterer?

  4. Javascript-dato til sql-datoobjekt