Heim > häufiges Problem > Hauptteil

So lösen Sie den verstümmelten Zeichensatz in Oracle

zbt
Freigeben: 2023-07-07 14:51:21
Original
2714 Leute haben es durchsucht

Oracle-Lösung zum Ändern des verstümmelten Zeichensatzes: 1. Suchen Sie die Datei TNSNAMES.ORA und den Alias ​​der zu verbindenden Datenbank, legen Sie die Umgebungsvariable NLS_LANG fest, öffnen Sie SQL*Plus und verwenden Sie die obige Konfiguration, um eine Verbindung herzustellen 2. Erstellen Sie eine Datenbank zum Speichern chinesischer Zeichen. Fügen Sie einige chinesische Zeichen in das Feld ein, in dem chinesische Zeichen gespeichert werden. Verwenden Sie das UTL_FILE-Paket, um chinesische Zeichen auszugeben. Nach der Ausführung wird eine Datei mit dem Namen chinese.txt erstellt UTL_DIR-Verzeichnis, das chinesische Zeichen enthält.

So lösen Sie den verstümmelten Zeichensatz in Oracle

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle Database 20c-Version, DELL G3-Computer.

In der Oracle-Datenbank kommt es beim Festlegen des chinesischen Zeichensatzes häufig zu verstümmelten Zeichen, was vielen Entwicklern und Administratoren Kopfzerbrechen bereitet. Heute hat Ihnen der Herausgeber einige Methoden zur Lösung des Problems verstümmelter chinesischer Zeichen in der Oracle-Datenbank vorgestellt. Ich hoffe, dass sie Ihnen hilfreich sein werden.

Methode 1: NLS_LANG ändern

NLS_LANG ist eine Umgebungsvariable in der Oracle-Datenbank, die die Kodierungsmethode von Zeichen in der Datenbank definiert. Nach Oracle 9i ist der Wert von NLS_LANG standardmäßig AMERICAN_AMERICA.UTF8. Diese Codierungsmethode unterstützt kein Chinesisch, daher müssen wir den Wert von NLS_LANG manuell ändern, um Chinesisch zu unterstützen.

Die Schritte sind wie folgt:

1. Suchen Sie die Datei TNSNAMES.ORA und suchen Sie den Alias ​​der zu verbindenden Datenbank, z. B.:

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Nach dem Login kopieren

2. Stellen Sie die Umgebungsvariable NLS_LANG ein verwendet werden, wie zum Beispiel:

set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Nach dem Login kopieren

Oder

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Nach dem Login kopieren

3. Öffnen Sie SQL*Plus und verwenden Sie die obige Konfiguration, um eine Verbindung zur Datenbank herzustellen:

sqlplus system/oracle@orcl

Methode 2: Verwenden Sie das UTL_FILE-Paket

Das UTL_FILE-Paket wird für Datei-E/A in der Oracle-Datenbank verwendet. Ein Standardpaket von Vorgängen. Mit UTL_FILE können Textdateien gelesen und geschrieben werden, und chinesische Schriftzeichen können problemlos verarbeitet werden.

Die Schritte sind wie folgt:

1. Erstellen Sie eine Tabelle zum Speichern chinesischer Schriftzeichen, wie zum Beispiel:

CREATE TABLE chinese (
name VARCHAR2(20),
clob CLOB
);
Nach dem Login kopieren

2. Fügen Sie einige chinesische Schriftzeichen in das Feld ein, in dem chinesische Schriftzeichen gespeichert werden:

INSERT INTO chinese VALUES (‘中国’, ‘中华人民共和国’);
Nach dem Login kopieren

3 Verwenden Sie das UTL_FILE-Paket, um chinesische Zeichen auszugeben:

DECLARE
file_handle UTL_FILE.FILE_TYPE;
chinese_clob CLOB;
BEGIN
SELECT clob INTO chinese_clob FROM chinese WHERE name=’中国’;
file_handle := UTL_FILE.FOPEN(‘UTL_DIR’, ‘chinese.txt’, ‘w’, 32767);
UTL_FILE.PUT_LINE(file_handle, chinese_clob, FALSE);
UTL_FILE.FCLOSE(file_handle);
END;
Nach dem Login kopieren

Nach der Ausführung wird im UTL_DIR-Verzeichnis eine Datei mit dem Namen chinese.txt erstellt, die chinesische Zeichen enthält.

Zusammenfassung

Die beiden oben genannten Methoden können das Problem verstümmelter chinesischer Zeichen in der Oracle-Datenbank lösen. Methode eins besteht darin, den Wert der Umgebungsvariablen NLS_LANG zu ändern, um chinesische Schriftzeichen zu unterstützen, und Methode zwei besteht darin, chinesische Schriftzeichen über das UTL_FILE-Paket zu lesen und zu schreiben. Je nach den spezifischen Anforderungen können Sie die entsprechende Lösungsmethode auswählen.

Das obige ist der detaillierte Inhalt vonSo lösen Sie den verstümmelten Zeichensatz in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage