改oracle服务器字符集,Oracle :修改数据库服务器字符集

最近,有现场反应,程序显示乱码。感觉很奇怪,该系统已经卖出去无数了。肯定是现场数据库字符集有问题,经过查看,

现场环境:

window系统,oracle10g。

b9ccfa45b1a413964e1600420a8a1fa7.png

5800f4a2836de6e524dc34367309b59d.png

我们要求的数据库字符集是AL32UTF8的,而现场自己安装成ZHS16GBK。

并且,数据库的表里面,中文是乱码,如???(

这才是造成程序显示乱码的主要原因,后面详述

)

当时一心以为:既然情况如此,只能期望通过调整数据库字符集,来解决乱码问题。虽然查阅了资料说,不建议这样做;

修改数据库服务器字符集步骤如下:

429f5900577ece297f60b34adeb9da09.png

1d9c756b077810b0fe268614744c0fef.png

580befb17f953770cd48d0d66cf6b709.png

还别说,表里面原来中文是乱码的,现在还真的能正确显示了。

但系统以前中文正常显示的地方现在却是乱码,找不到问题原因。

后来,现场重新安装了数据库实例,字符集是AL32UTF8的,但通过pl/sql导入的带中文的初始脚本,

表里面还是显示乱码。最后经过查找资料,是oracle客户端字符集有问题,导致插入数据库表中文乱码。

设置window系统环境变量:

NLS_LANG

=

SIMPLIFIED

CHINESE_CHINA.ZHS16GBK ,问题解决。

总结:

1.问题原因没真正明白,就直接下结论。其实,在调整数据库字符集前,可能设置客户端字符集问题就可以解决了。目前已经无法验证了。

2.修改数据库服务器字符集确实不值得推荐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值