Maison > Problème commun > Comment résoudre le jeu de caractères tronqués dans Oracle

Comment résoudre le jeu de caractères tronqués dans Oracle

zbt
Libérer: 2023-07-07 14:51:21
original
2769 Les gens l'ont consulté

Solution Oracle pour modifier le jeu de caractères tronqués : 1. Recherchez le fichier TNSNAMES.ORA et recherchez l'alias de la base de données à connecter, définissez la variable d'environnement NLS_LANG, ouvrez SQL*Plus et utilisez la configuration ci-dessus pour vous connecter au base de données ; 2. Créez une base de données pour stocker les caractères chinois. Table de caractères, insérez des caractères chinois dans le champ qui stocke les caractères chinois, utilisez le package UTL_FILE pour générer les caractères chinois, et après l'exécution, un fichier nommé chinois.txt sera créé dans le Répertoire UTL_DIR, qui contient des caractères chinois.

Comment résoudre le jeu de caractères tronqués dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle Database 20c, ordinateur DELL G3.

Dans la base de données Oracle, des caractères tronqués apparaissent souvent lors de la définition du jeu de caractères chinois, ce qui provoque des maux de tête pour de nombreux développeurs et administrateurs. Aujourd'hui, l'éditeur vous a présenté quelques méthodes pour résoudre le problème des caractères chinois tronqués dans la base de données Oracle. J'espère que cela vous sera utile.

Méthode 1 : Modifier NLS_LANG

NLS_LANG est une variable d'environnement dans la base de données Oracle, qui définit la méthode d'encodage des caractères dans la base de données. Après Oracle 9i, la valeur par défaut de NLS_LANG est AMERICAN_AMERICA.UTF8. Cette méthode de codage ne prend pas en charge le chinois, nous devons donc modifier manuellement la valeur de NLS_LANG pour prendre en charge le chinois.

Les étapes sont les suivantes :

1. Recherchez le fichier TNSNAMES.ORA et recherchez l'alias de la base de données à connecter, tel que :

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Copier après la connexion

2. Définissez la variable d'environnement NLS_LANG, la valeur est le caractère défini sur. être utilisé, tel que :

set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Copier après la connexion

Ou

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Copier après la connexion

3. Ouvrez SQL*Plus et utilisez la configuration ci-dessus pour vous connecter à la base de données :

sqlplus system/oracle@orcl

Méthode 2 : Utiliser le package UTL_FILE

Le package UTL_FILE est utilisé pour les E/S de fichiers dans la base de données Oracle. Un package standard d'opérations. La lecture et l'écriture de fichiers texte peuvent être réalisées via UTL_FILE, et les caractères chinois peuvent être facilement traités.

Les étapes sont les suivantes :

1. Créez un tableau pour stocker les caractères chinois, tels que :

CREATE TABLE chinese (
name VARCHAR2(20),
clob CLOB
);
Copier après la connexion

2. Insérez des caractères chinois dans le champ qui stocke les caractères chinois :

INSERT INTO chinese VALUES (‘中国’, ‘中华人民共和国’);
Copier après la connexion

3. utilisez le package UTL_FILE pour générer des caractères chinois :

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;
Copier après la connexion

Après l'exécution, un fichier nommé chinois.txt sera créé dans le répertoire UTL_DIR, qui contient des caractères chinois.

Résumé

Les deux méthodes ci-dessus peuvent résoudre le problème des caractères chinois tronqués dans la base de données Oracle. La première méthode consiste à modifier la valeur de la variable d'environnement NLS_LANG pour prendre en charge les caractères chinois, et la deuxième méthode consiste à lire et à écrire des caractères chinois via le package UTL_FILE. Selon les besoins spécifiques, vous pouvez choisir la méthode correspondante pour le résoudre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal