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

Sự cố NLS_CHARACTERSET WE8ISO8859P1 và UTF8 trong Oracle

http://docs.oracle.com/cd /B19306_01/server.102/b14225/ch2charset.htm#g1009784

Mặt khác, UTF-8 sử dụng một số byte để lưu trữ một biểu tượng.

Nếu cơ sở dữ liệu của bạn sử dụng WE8ISO8859P1 và loại cột là từ nhóm VARCHAR (không phải NVARCHAR) và bạn đang chèn một biểu tượng có mã> 255, biểu tượng này sẽ được chuyển đổi thành WE8ISO8859P1 và một số thông tin sẽ bị mất.

Nói một cách đơn giản, nếu bạn đang chèn UTF-8 vào một db có bộ ký tự byte đơn, thì dữ liệu của bạn sẽ bị mất.

Liên kết ở trên mô tả các tình huống khác nhau cách giải quyết vấn đề này.

Bạn cũng có thể thử Oracle asciistr / unistr nhưng nhìn chung, đó không phải là cách tốt để giải quyết những vấn đề như vậy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phương thức ExecuteBatch trả về mảng giá trị -2 trong java

  2. Truy vấn Oracle sử dụng 'like' trên cột số được lập chỉ mục, hiệu suất kém

  3. Sử dụng tnsnames.ora trong Oracle SQL Developer

  4. Tại sao NVL luôn đánh giá tham số thứ 2

  5. Làm thế nào để định dạng một cột NUMBER trong Oracle?