Уважаеми EBAG, Имаме единарабски блок в Unicode който съдържа както арабски, така и персийски символи.
06CC е персийски ی и064А е арабски ي
Windows клавиатурата по подразбиране използва code page 1256 за арабски знаци, които поставят 064A по подразбиране ي както за персийски, така и за арабски потребители, защото арабските потребители са много повече от персийците.
ISIRI направете стандартна клавиатура ISIRI 9147 и сложете както арабски, така и персийски Yeh върху него, но Perisan ی е символите по подразбиране. Персийски потребители, които използват стандартна клавиатура, ще поставят (и използват) стандартен персийски ی while the rest of them use arabic ي`.
Както казвате обикновено, докато запазваме данни в база данни, ние променяме арабския ي на персийски ی и когато четем от него, ние просто избираме персийски, така че всичко е вярно.
вторият подход е да се използва JavaScript файл в уеб приложение за контрол на въвеждането на потребителя. повечето от персийските уебсайтове използват този подход за запазване на знаци в базата данни. При този метод потребителят не трябва да инсталира никаква клавиатурна подредба за персийска или арабска клавиатура. Той/тя просто постави клавиатурата на English и след това в JavaScript разработчикът на файлове проверява кой символ е еквивалентен за него. Тук
можете да намерите ISIRI 9147 javascript за уеб приложение и персийски справочник за използването му.
Третият подход е да използвате екранна клавиатура, която работи точно като предишната с потребителски интерфейс и обикновено е добра за тези, които не са запознати с персийската клавиатура.
Четвъртият подход е да се търси и в двата диалекта. Както знаете, когато инсталирате MySql или SQL Server можете да зададете collation а също така имате опция за поддръжка на диалект (и чувствителност към малки и големи букви). ако активирате арабско съпоставяне с диалект, можете да получите резултат и за двете и обикновено това работи добре в sql server Не го тествам в MySql . Това е най-доброто решение досега.
но ако бях на твое място, внедрих проста sql function които получават nvarchar и върнете nvarchar . тогава го наричам, когато исках да напиша данни. и когато искате да четете, можете да изберете стандартния.
Съжалявам за дългата опашка.