碰到一个中文乱码问题,求解答。
时间:2010-08-17
来源:互联网
系统环境是两台IBM服务器,一台数据库,一台Web。
数据库安装oracle11.1.0.6.0
web为apache(Server version: Apache/2.0.52),perl(v5.8.5),DBI(DBI 1.609),DBD(DBD::Oracle 1.23)。
oracle字符集等信息为:
select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.1.0.6.0
数据库环境字符集为:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Web环境字符集为:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
访问Web页面,UTF-8编码,正常显示。
访问Web页面(有数据查询),查询数据库的中文正常显示,而页面内中文全为乱码。
数据库安装oracle11.1.0.6.0
web为apache(Server version: Apache/2.0.52),perl(v5.8.5),DBI(DBI 1.609),DBD(DBD::Oracle 1.23)。
oracle字符集等信息为:
select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.1.0.6.0
数据库环境字符集为:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Web环境字符集为:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
访问Web页面,UTF-8编码,正常显示。
访问Web页面(有数据查询),查询数据库的中文正常显示,而页面内中文全为乱码。

作者: shiru 发布时间: 2010-08-17
补充: 将web环境:
字符设置为:AMERICAN_AMERICA.ZHS16GBK
测试结果:
web(纯网页)中文显示正常;
web(含查询)页面内中文正常,但是查询出的字符偶有乱码。如:电风扇2,显示为:
在数据库这台服务器上查询数据(sql),查询的中文全为乱码。
很不解!!!
字符设置为:AMERICAN_AMERICA.ZHS16GBK
测试结果:
web(纯网页)中文显示正常;
web(含查询)页面内中文正常,但是查询出的字符偶有乱码。如:电风扇2,显示为:

在数据库这台服务器上查询数据(sql),查询的中文全为乱码。
很不解!!!
作者: shiru 发布时间: 2010-08-17
再补充:
我将页面编码全部改为gb2312.页面保存为ANSI编码。所有问题都没有了!!!
可是我需要UTF-8的编码格式啊。
我将页面编码全部改为gb2312.页面保存为ANSI编码。所有问题都没有了!!!
可是我需要UTF-8的编码格式啊。
作者: shiru 发布时间: 2010-08-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28