Mysql
 sql >> Base de données >  >> RDS >> Mysql

Caractères ي et ی et la différence en persan - Mysql

Cher EBAG, Nous avons un seul Arabe bloquer en Unicode qui contient à la fois l'arabe et le persan personnages.

06CC est le persan ی et 064A est l'arabe ي

Le clavier Windows par défaut utilise la code page 1256 pour les caractères arabes qui mettent 064A par défaut ي pour les utilisateurs persans et arabes, car les utilisateurs arabes sont bien plus que persans.

ISIRI faire un clavier standard ISIRI 9147 et mettez à la fois l'arabe et le persan Yeh dessus mais Perisan ی sont les caractères par défaut. Les utilisateurs persans qui utilisent un clavier standard mettront (et utiliseront) le persan standard ی‍ while the rest of them use arabic ي`.

Comme vous l'avez dit habituellement pendant que nous enregistrons une donnée dans la base de données, nous changeons l'arabe ي en persan ‍ی et quand nous le lisons, nous choisissons simplement le persan pour que tout soit vrai.

la deuxième approche consiste à utiliser un fichier JavaScript dans une application Web pour contrôler l'entrée de l'utilisateur. la plupart des sites Web persans utilisent cette approche pour enregistrer les caractères dans la base de données. Dans cette méthode, l'utilisateur n'a pas besoin d'installer de disposition de clavier pour le clavier persan ou arabe. Il/elle vient de mettre le clavier sur English puis en JavaScript le développeur de fichiers vérifie quel caractère lui est équivalent. Ici vous pouvez trouver ISIRI 9147 javascript pour l'application Web et un guide persan pour l'utiliser.

la troisième approche consiste à utiliser un clavier à l'écran qui fonctionne comme le précédent avec une interface utilisateur et est généralement bon pour ceux qui ne sont pas familiers avec le clavier persan.

La quatrième approche consiste à rechercher les deux dialectes. Comme vous le savez lorsque vous installez MySql ou SQL Server vous pouvez définir le collation et vous avez également la possibilité de prendre en charge le dialecte (et la sensibilité à la casse). si vous activez le classement arabe avec le dialecte, vous pouvez obtenir un résultat pour les deux et cela fonctionne généralement bien dans sql server Je ne le teste pas dans MySql . C'est la meilleure solution à ce jour.

mais si j'étais vous, j'implémente une simple fonction sql function qui obtiennent nvarchar et renvoie nvarchar . puis je l'appelle quand je voulais écrire des données. et chaque fois que vous voulez lire, vous pouvez opter pour le standard.

Désolé pour la longue traîne.