Start PL/SQL Developer character encoding inconsistency error
Database Character Set (Al32utf8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note:you can set the client character set through the Nls_lang environment variable or the Nls_lang registry key in
hkey_local_machine\software\oracle\key_oracle_10g.
Open the Registry by command regedit. Find the path to the hint in the article and find the value of the Nls_lang key:
Simplified Chinese_china. Zhs16gbk
Modified to: Simplified Chinese_china. Al32utf8 can
Another possibility is that the installation of 11g did not select the custom installation caused by the
Database Character Set (Al32utf8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note:you can set the client character set through the Nls_lang environment variable or the Nls_lang registry key in
Hkey_local_machine/software/oracle/key_oradb11g_home
Simplified Chinese_china. ZHS16GBK contains American_america. Al32utf8.
This is a problem, not a change to the client character set. To change the character set of the database:
Sql> Conn/as SYSDBA
sql> shutdown immediate;
Sql> Startup Mount
sql> ALTER SYSTEM ENABLE RESTRICTED SESSION;
sql> ALTER SYSTEM SET job_queue_processes=0;
sql> ALTER SYSTEM SET aq_tm_processes=0;
sql> ALTER DATABASE open;
sql> ALTER DATABASE CHARACTER SET ZHS16GBK;
Ora-12712:new character set must be a superset of the old character set
Hint to our character set: The new character set must be a superset of the old character set, and we can skip over the superset check to make the change:
Sql> ALTER DATABASE Character set Internal_use ZHS16GBK;
--we see that this process is identical to the internal procedure of the ALTER DATABASE CHARACTER set operation, which means that the help provided by Internal_use is to get the Oracle database to bypass the checksum of the subset and the superset.
Sql> select * from V$nls_parameters;
sql> shutdown immediate;
Sql> Startup
Sql> select * from V$nls_parameters;
When installing oracle11g in the future remember to choose a custom installation, the character set of things in advance
PL/SQL database character set (Al32utf8) and Client character set (ZHS16GBK) is different