ITPub博客

首页 > 数据库 > Oracle > oracle 输出中文乱码问题解决方案

oracle 输出中文乱码问题解决方案

原创 Oracle 作者:gholay 时间:2014-01-07 21:16:12 0 删除 编辑
在plsql中使用DBMS_OUTPUT.PUT_LINE输出时,如果有中文,会出现乱码。

原因:客户端和服务器端数据库编码不一致造成的.

解决办法:修改客户端的编码的变量(NLS_LANG)
1. 查看服务器端编码
select tab1.aa || '_' || tab2.bb || '.' || tab3.cc
  from (select VALUE$ aa from sys.props$ where name = 'NLS_LANGUAGE') tab1,
       (select VALUE$ bb from sys.props$ where name = 'NLS_ISO_CURRENCY') tab2,
       (select VALUE$ cc from sys.props$ where name = 'NLS_CHARACTERSET') tab3;

2. 查看windows中oracle客户端的编码
使用windows命令:regedit.exe,到下面指定路径查找客户端编码
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraDb11g_home1
找到NLS_LANG变量,替换为第一步查询服务器端编码。

3. 重新启动客户端,再次使用DBMS_OUTPUT.PUT_LINE输出中文时不会出现中文乱码。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29196873/viewspace-1068107/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-28

  • 博文量
    82
  • 访问量
    694147