发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

JSP 中文问题(找了好多文章还是不行)

    
2007-08-03 14:34
赞助商链接

环境: mysql4.1+tomcat5.5+netbeans5.5.1+JDK1.6

<%@ page contentType="text/html; charset=gb2312" %>
<%request.setCharacterEncoding("GB2312");%>
mysql的字符集定义也是GB2312

在数据库后台手动添加中文数据,在JSP页面查询数据库,中文正常显示.
但是从浏览器输入中文或者在JSP定义中文字符串,然后插入数据库,数据库里就显示乱码(一堆问号)

我试图了解传过来的字符集到底是什么编码,代码如下:
<%
byte[] temp1;
temp1 = ChieseString.getBytes("ISO-8859-1");
String compstring1;
compstring1 = new String(temp1);
if(ChieseString.equals(temp1)){
out.println("ISO-8859-1");
}
%>
穷举了所有的字符,但是结果是都不输出.也就以为这ChieseString不属于任何编码,但也许是代码的问题

总之从数据库读没有问题,但是要写入数据库,输入的内容如果是中文就是一堆问号
我不明白问题出在哪
以前我用过SQL SERVER的数据库,当时只要用下面的代码就能解决,可是现在也不行
<%! //汉字处理,去除乱码
public String getString(String s) {
if(s==null) {
s="";
}
try{
byte b[]=s.getBytes("ISO-8859-1");
s= new String(b,"gb2312");
}catch(Exception e) {
}
return s;
}
%>

我真的是没招了~~~~~~~~ :-(

2007-08-03 14:37

补充:
我是第一次用netbeans,所以有可能是netbeans的配置问题,希望高手能告诉我解决中文问题的netbeans配置方法

还有会不会是环境的版本太高了??

还有,我知道从表单传过来绝大部分都是ISO-8859-1的编码,其实我只要转成gb2312的编码就可以了
但是为什么转换完了,一输出还是一堆乱码呢??
难道是我的代码的问题??
[该贴被raulliran于2007年08月03日 14:41修改过]

2007-08-03 15:45

郁闷,难道你没听过UTF-8编码吗。。。

2007-08-03 15:53

穷举了所有的字符,但是结果是都不输出.也就以为这ChieseString不属于任何编码,但也许是代码的问题
================================================================
我是穷举了所有的字符编码,为了省空间我只写了一个(ISO-8859-1)
UTF-8,我当然试过,但是不行

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com