Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znaki ي i ی oraz różnica w języku perskim - Mysql

Drogi EBAG, Mamy jednego arabskiego blok w Unicode który zawiera zarówno arabski, jak i perski postacie.

06CC jest perski ی i 064A jest arabskim ي

Domyślna klawiatura systemu Windows używa code page 1256 dla znaków arabskich, które umieszczają 064A jako domyślny ي zarówno dla użytkowników perskich, jak i arabskich, ponieważ użytkownicy z Arabii to znacznie więcej niż Persowie.

ISIRI utwórz standardową klawiaturę ISIRI 9147 i wstaw zarówno arabski, jak i perski Yeh na nim, ale peryski ی to znaki domyślne. Perscy użytkownicy używający standardowej klawiatury wstawią (i użyją ) standardowego perskiego ی‍ while the rest of them use arabic `.

Jak zwykle mówiłeś, podczas zapisywania danych w bazie danych zmieniamy arabski ي na perski ‍ی a kiedy czytamy z tego, po prostu wybieramy perski, więc wszystko jest prawdą.

drugie podejście polega na użyciu pliku JavaScript w aplikacji internetowej do kontrolowania danych wprowadzanych przez użytkownika. większość perskich stron internetowych używa tego podejścia do zapisywania znaków w bazie danych. W tej metodzie użytkownik nie musi instalować żadnego układu klawiatury dla klawiatury perskiej lub arabskiej. Po prostu przestawił klawiaturę na English a następnie w JavaScript programista plików sprawdza, który znak jest dla niego odpowiednikiem. Tutaj możesz znaleźć ISIRI 9147 javascript dla aplikacji internetowych i perskiego przewodnika, aby z niego korzystać.

Trzecie podejście to użycie klawiatury ekranowej, która działa tak samo jak poprzednia z interfejsem użytkownika i jest zwykle dobra dla tych, którzy nie są zaznajomieni z klawiaturą perską.

Czwarte podejście polega na przeszukaniu obu dialektów. Jak wiesz, po zainstalowaniu MySql lub SQL Server możesz ustawić collation a także masz możliwość obsługi dialektu (i rozróżniania wielkości liter). jeśli włączysz sortowanie arabskie z dialektem, możesz uzyskać wynik dla obu z nich i zwykle działa to dobrze w sql server Nie testuję tego w MySql . To najlepsze rozwiązanie.

ale na twoim miejscu implementuję prostą sql function które otrzymują nvarchar i zwróć nvarchar . wtedy nazywam to, gdy chciałem zapisywać dane. a kiedy chcesz poczytać, możesz wybrać standardową.

Przepraszam za długi ogon.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak ustawić znacznik czasu może być powolnym zapytaniem?

  2. mysql zapytanie przestawne/przestawne

  3. Używanie PHP DOM do tworzenia plików XML z danych MySQL

  4. Importowanie bazy danych MySQL z jednego serwera na drugi

  5. Jak rzucić DATETIME jako DATE w mysql?