Solution au problème des caractères chinois tronqués dans l'oracle Linux
La cause première du problème tronqué est la modification du jeu de caractères
1. Vérifiez la langue par défaut de Linux
Recommandé : "Tutoriel Linux"
2. Vérifiez les paramètres d'encodage de langue du client
Configuration dans le fichier de configuration : cat ~/.bash_profile
Notez que vous devez modifier les informations de configuration :
export PATH export ORACLE_HOME=/usr/lib/oracle/11.2/client64/ export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:. export TNS_ADMIN=$ORACLE_HOME export PATH=$PATH:$ORACLE_HOME/bin: export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Après la configuration, vérifiez si la configuration a réussi l'instruction SQL : sélectionnez userenv('langue') depuis dual
3. . Vérifiez l'encodage utilisé par la base de données : modifiez la langue par défaut de la base de données oracle Linux
La langue par défaut de l'oracle d'installation Linux est :
AMERICAN_AMERICA.WE8MSWIN1252
La position d'affichage du chinois dans cette langue. est tronqué.
Après vous être connecté au système Linux via Oracle, effectuez les opérations suivantes :
Méthode de modification (en prenant le passage à UTF8 comme exemple)
Connectez-vous à sqlplus avec le système Autorité DBA
$ sqlplus / as sysdba; select userenv('language') from dual;
Par exemple : AMERICAN_AMERICA.WE8MSWIN1252
Modification :
SQL> shutdown immediate; SQL> startup mount; SQL> alter system enable restricted session; SQL> alter system set job_queue_processes=0; SQL> alter database open; SQL> alter database character set internal_use AL32UTF8; 或者 ALTER DATABASE character set INTERNAL_USE ZHS16GBK; SQL> shutdown immediate; SQL> startup SQL>alter system disable restricted session;
4. Après modification, des erreurs peuvent survenir dans les données d'origine de la base de données et la table en a besoin. à supprimer et les données réimportées.
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!