昨天一同事在修改数据库字符集时出现如下问题:
SQL> ALTER DATABASE CHARACTER SET ZHS16CGB231280;
ALTER DATABASE CHARACTER SET ZHS16CGB231280
*
ERROR at line 1:ORA-12712: new character set must be a superset of old character set
它原来的字符集是:al32utf8
出现这个错误是 oracle 只支持从子集到超集的转变
那有什么方法可进行强制转换呢?可以使用如下指令:
alter database character set INTERNAL_USE ZHS16CGB231280
该指令会跳过子集与超集的检验,当然强制转换可能会造成数据的损坏,要谨慎使用!!
关于字符集更详细的信息可参考eygle的文章:
No Comments
Be the first to comment on this entry.
Leave a comment
Fields in bold are required. Email addresses are never published or distributed.
Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>URLs must be fully qualified (eg: http://www.dbifan.com),and all tags must be properly closed.
Line breaks and paragraphs are automatically converted.
Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.