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

Buforowanie Unicode Oracle

przy odpowiednich ustawieniach Twój skrypt działa z SQL*Plus. Oto, co zrobiłem, aby to przetestować:

  • (oczywiście) Twoja baza danych musi obsługiwać Unicode. W razie potrzeby użyj NVARCHAR2.
  • Skonfiguruj poprawnie aplikację kliencką. upewnij się, że zmienna NLS_LANG jest ustawiona poprawnie, musi obsługiwać Unicode. Ustawiłem mój na AMERICAN_ENGLISH.UTF8 . Podczas gdy okno DOS SQL*Plus nie wyświetli wszystkich znaków Unicode, zostaną one prawidłowo zbuforowane do pliku.
  • (oczywiście też) upewnij się, że aplikacja, która czyta plik buforowy, otwiera go we właściwym zestawie znaków.

Teraz scenariusz:

SQL> select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET';

PARAMETER          VALUE
------------------ ------
NLS_CHARACTERSET   UTF8

SQL> create table street_points (data varchar2(10));

Table created

SQL> INSERT INTO street_points VALUES (chr(53401)||chr(53398));

1 row inserted

Spowoduje to wstawienie rosyjskich znaków ЙЖ

SQL> SPOOL STREET_POINT_THR.BQSV
SQL> SELECT * FROM STREET_POINTS;
ðÖðû
SQL> SPOOL OFF

Plik otwarty za pomocą edytora tekstu (w moim przypadku jEdit) z poprawnym zestawem znaków (UTF-8) wyświetla poprawnie znaki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuwanie wierszy z tabel nadrzędnych i podrzędnych

  2. Jak mogę się dowiedzieć, czy baza danych Oracle jest ustawiona na automatyczne zatwierdzanie?

  3. Funkcja RPAD() w Oracle

  4. Jak reprezentować interwał Oracle w Javie

  5. Konwertuj z daty na epokę-Oracle