还是jsp oracle8.1.6中文问题

ldh_0421 2002-06-17 02:41:15
最近做一个项目,中文问题折磨了好己天。
项目环境:
操作系统:windows 2000 server
java version:jdk1.3.1
http server:tomcat 3.0
database:oracle8.1.6
每个jsp文件我都加上了
<%@page contentType="text/html;charset=gb2312"%>
classpath我配置了
D:\oracle\ora80\orb\classes\share.zip;D:\oracle\ora80\jdbc\lib\classes111.zip;D:\oracle\ora80\jdbc\lib\nls_charset12.zip
数据库中的中文不为乱码,且用sun.jdbc.odbc.JdbcOdbcDriver显示出来
不为乱码,但oracle.jdbc.driver.OracleDriver显示为乱码
不要用下列解决办法来回答
<%@page contentType="text/html;charset=gb2312"%>
sStr = new String(sStr.getBytes("8859_1"),"gb2312");
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yakuu 2002-06-17
  • 打赏
  • 举报
回复
靠,怎么又有一篇???

呵呵,再贴一遍。

对于ie,它默认的就是将表单提交的内容转换为ISO-8859-1
所以,如果jsp页面不作任何设定的话,就是不设定编码的话,它一定是乱码,因为已经转换为ISO-8859-1了。
如果是中文操作系统,而且你的所有表单也只有中文字符集,而不包含其它双字节字符集。你就设定页面是
<%@page contentType="text/html;charset=gb2312"%>
这样ie会将之编码为gb2312,但是,从数据库取出时,java环境已经将你的gb2312转为了ISO-8859-1,这就是你的数据库出现乱码的原因。
另外,如果要处理中日韩语言混合问题,就要设定GBK编码,或者将所有字符转换为unicode编码。

其实这个问题挺烦人的。

我曾经写过一篇文档。具体介绍了jsp中乱码出现的原因,解决办法其实还是要具体问题具体分析,^_^

另外,看看我写的这个文档:
http://www.csdn.net/Develop/read_article.asp?id=14125
现在看,写得不是很详细。

欢迎交流:taochina@msn.com
Andrawu 2002-06-17
  • 打赏
  • 举报
回复
try;

只用<%@page contentType="text/html;charset=gb2312"%>来显示数据。

不要sStr = new String(sStr.getBytes("8859_1"),"gb2312");这个。

还不行,把D:\oracle\ora80\jdbc\lib\classes111.zip;改为D:\oracle\ora80\jdbc\lib\classes12.zip;试试。

还不行?那是没有到理的啊。你的运行环境与我现在的环境完全一样。
再不行。干脆把代码帖出来,我来帮你调试 。
salute 2002-06-17
  • 打赏
  • 举报
回复
“但oracle.jdbc.driver.OracleDriver显示为乱码”
你指在JSP中?
zhu_liping 2002-06-17
  • 打赏
  • 举报
回复
你是ORACLE是用的什么编码方式?
zhu_liping 2002-06-17
  • 打赏
  • 举报
回复
你是ORACLE是用的什么编码方式?

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧