如何在Oracle中配置UTF8字符集?我尝试更新如下:
UPDATE NLS_DATABASE_PARAMETERS SET VALUE = 'UTF8' WHERE PARAMETER='NLS_CHARACTERSET';
但错误表明那样
ERROR at line 1:
ORA-01031: insufficient privileges
答案 0 :(得分:10)
是的,那件事也失败了...这不是一个好主意......: - )
首先,对于Oracle中的UTF-8支持,您将要使用' AL32UTF8'字符集。
这是一个全新的数据库吗?或者已有数据的现有数据库?
如果我们正在谈论新数据库,您应该删除数据库,然后再创建它,在创建数据库时在DBCA中指定AL32UTF8字符集。
如果它是现有数据库,其中已有数据,那就有点复杂了。它目前使用什么字符集? AL32UTF8是该字符集的直接超集吗?
这真的是一个非平凡的主题。简而言之,您需要知道当前的字符集以及您要移动到的字符集,并且您需要运行“CSSCAN”'用于检查兼容性和数据转换问题的实用程序。
完整的故事,你应该查看关于MOS的以下文件:
将NLS_CHARACTERSET更改为AL32UTF8 / UTF8(Unicode)[ID 260192.1]
希望有所帮助。