今天在安装Oracle数据库时出现的一个问题,“数据库字符集(AL32UTF8)和客户端字符集(2%)是不同的。字符集转化可能会造成不可预期的后果”。
上网查了一些资料得知Oracle数据库的字符集问题不算是大问题,但也是一个头疼的问题。这是因为有这么三个原因:一是Oracle数据库在安装时指定好字符集之后一般不能更改,二是字符集问题涉及服务器与客户端之间的存取问题,三是Oracle数据库迁移时也会跟字符集非常相关。最好的,最不容易出字符集错误的就是:将数据库字符集、客户端字符集、客户端操作系统NLS_LANG参数三个地方作同样的设置。
可以使用select * from nls_database_parameters where parameter='NLS_CHARACTERSET' 查看服务端数据库字符集。
解决方案一:
1.右击电脑属性
2.新建系统变量
3.名字 NLS_LANG 值: american_america.AL32UTF8
4.再次登录 OK
解决方案二:修改注册表的值
1.windows+R打开运行窗口,输入regedit打开注册表。
2.HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\oracle\KEY_OraClient11g_home1中修改NLS_LANG为SIMPLIFIED CHINESE_CHINA.AL32UTF8
3.再次登录 OK