Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ký tự ي và ی và sự khác biệt trong tiếng Ba Tư - Mysql

Kính gửi EBAG, Chúng tôi có một tiếng Ả Rập khối trong Unicode chứa cả tiếng Ả Rập & tiếng Ba Tư nhân vật.

06CC là tiếng Ba Tư ی 064A là tiếng Ả Rập ي

Bàn phím windows mặc định sử dụng code page 1256 cho các ký tự tiếng Ả Rập đặt 064A làm ي mặc định cho cả người dùng Persian và Arab vì người dùng Arab nhiều hơn người Ba Tư.

ISIRI tạo bàn phím tiêu chuẩn ISIRI 9147 và đặt cả tiếng Ả Rập và tiếng Ba Tư Yeh trên đó nhưng Perisan ی là các ký tự mặc định. Người dùng Ba Tư đang sử dụng bàn phím tiêu chuẩn sẽ đặt (và sử dụng) ی‍ while the rest of them use arabic ي`.

Như bạn đã nói thường trong khi chúng tôi đang lưu dữ liệu vào cơ sở dữ liệu, chúng tôi thay đổi ي tiếng Ả Rập sang tiếng Ba Tư ‍ی và khi chúng tôi đọc từ đó, chúng tôi chỉ đi theo tiếng Ba Tư để mọi thứ đều đúng sự thật.

cách tiếp cận thứ hai là sử dụng tệp JavaScript trong ứng dụng web để kiểm soát đầu vào của người dùng. hầu hết các trang web Ba Tư sử dụng cách tiếp cận này để lưu các ký tự vào cơ sở dữ liệu. Trong phương pháp này, người dùng không cần cài đặt bất kỳ bố cục Bàn phím nào cho bàn phím tiếng Ba Tư hoặc tiếng Ả Rập. Anh ấy / cô ấy chỉ cần đặt bàn phím bằng English và sau đó trong JavaScript nhà phát triển tệp kiểm tra xem nhân vật nào là phổ biến đối với anh ta. Tại đây bạn có thể tìm thấy ISIRI 9147 javascript cho ứng dụng web và Hướng dẫn tiếng Ba Tư để sử dụng nó.

cách tiếp cận thứ ba là sử dụng Bàn phím ảo hoạt động giống như bàn phím trước đó với giao diện người dùng và thường tốt cho những người không quen với bàn phím tiếng Ba Tư.

Cách tiếp cận thứ tư là tìm kiếm cả hai phương ngữ. Như bạn đã biết khi cài đặt MySql hoặc SQL Server bạn có thể đặt collation và bạn cũng có một tùy chọn để hỗ trợ phương ngữ (và phân biệt chữ hoa chữ thường). nếu bạn bật đối chiếu tiếng Ả Rập với phương ngữ, bạn có thể nhận được kết quả cho cả hai và thường điều này hoạt động tốt trong sql server Tôi không kiểm tra nó trong MySql . Đây là giải pháp tốt nhất.

nhưng nếu tôi là bạn, tôi triển khai một sql function đơn giản lấy nvarchar và trả về nvarchar . sau đó tôi gọi nó khi tôi muốn ghi dữ liệu. và bất cứ khi nào bạn muốn đọc, bạn có thể sử dụng tài liệu chuẩn.

Xin lỗi vì cái đuôi dài.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:vượt quá thời gian chờ khóa

  2. Ý nghĩa của tên chỉ mục khi tạo chỉ mục trong MySQL là gì?

  3. Làm thế nào để cố tình khóa một hàng MySQL mà ngay cả SELECT sẽ trả về một lỗi?

  4. sử dụng trạng thái mysql LOAD trong PHP không thành công, nhưng thực hiện nó thông qua dòng lệnh hoạt động

  5. Cách cài đặt MySQL trên Ubuntu