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.
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) ) )
2. Stellen Sie die Umgebungsvariable NLS_LANG ein verwendet werden, wie zum Beispiel:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Oder
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
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 );
2. Fügen Sie einige chinesische Schriftzeichen in das Feld ein, in dem chinesische Schriftzeichen gespeichert werden:
INSERT INTO chinese VALUES (‘中国’, ‘中华人民共和国’);
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 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!