Mysql
 sql >> база данни >  >> RDS >> Mysql

Символи ي и ی и разликата в персийски - Mysql

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

Съжалявам за дългата опашка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверете дали базата данни вече съществува

  2. MySQL - Група и общо, но връща всички редове във всяка група

  3. Генерирайте произволна LocalDate с java.time

  4. Проста подзаявка с OuterRef

  5. брой за всяко присъединяване - оптимизация