Уважаеми 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
. тогава го наричам, когато исках да напиша данни. и когато искате да четете, можете да изберете стандартния.
Съжалявам за дългата опашка.