Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Problemy z NLS_CHARACTERSET WE8ISO8859P1 i UTF8 w Oracle

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

Z drugiej strony, UTF-8 używa kilku bajtów do przechowywania symbolu.

Jeśli twoja baza danych używa WE8ISO8859P1, a typ kolumny pochodzi z grupy VARCHAR (nie NVARCHAR) i wstawiasz symbol, którego kod> 255, ten symbol zostanie przekształcony do WE8ISO8859P1 i niektóre informacje zostaną utracone.

Mówiąc prościej, jeśli wstawiasz UTF-8 do bazy danych z jednobajtowym zestawem znaków, Twoje dane zostaną utracone.

Powyższy link opisuje różne scenariusze rozwiązania tego problemu.

Możesz także wypróbować Oracle asciistr /unistr funkcje, ale generalnie nie jest to dobry sposób radzenia sobie z takimi problemami.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wymagane zapytanie SQL z wyjaśnieniem ON DUPLICATE KEY UPDATE

  2. Funkcja podobna do UTL_MATCH do pracy z CLOB

  3. Oracle otrzyma wszystkie terminy w ciągu miesiąca

  4. Wprowadzenie sterownika Easysoft Oracle® do środowiska SOA

  5. Sumuj kolumny z wartościami null w Oracle