注册 登录
编程论坛 J2EE论坛

我做的网页里,汉字老是????是怎么回事啊?用的是gb2312

czc419234276 发布于 2007-09-06 10:52, 1941 次点击
我做的网页里,汉字老是????是怎么回事啊?用的是gb2312
21 回复
#2
czc4192342762007-09-06 10:53
就是通过 表单中的text输入的汉字录入数据库时,数据库中都是??????,为什么啊?
#3
Gramary2007-09-06 11:34

你是什么数据库`
要转码的`
你是怎么把数据传到数据库的````
请写下详细流程

#4
夜雨葬花魂2007-09-06 13:09
数据库用 GBK
没有的话自己写个编码转换就OK了
#5
ConZhang2007-09-06 22:40
你用的什么数据库?
要是mysql的话,可以设置数据库服务器本身的字符集,然后创建数据库的时候,也要选择默认的字符集,这样就好了!
#6
atsjun2007-09-08 00:37

在插入数据库之前把你的字符串转换成 数据库的编码格式
我记得 sql好像就有这问题。。。

#7
a2762024602007-09-08 06:34
楼上说的方法可行 把你要到入的数据在存入数据库前转码成GB2312这样你在取出来就不是乱码了
getstr(s){
return new String(s.getBytes("gb2312"));

}
#8
想你的天空2007-09-08 06:58
HTTP不能传中文。
解决办法
1 tomcat6.0
2 传到后台后进行字符转化

这个和你的MYSQL没关系, 因为你插入之前就已经是乱码了。-

#9
xhdwell2007-09-08 15:21
你用的WEB服务器是什么?如果是TOMCAT的话可能会出现中文乱码现象
网上搜索下,解决方法很多的~~
#10
汪洋兽2007-09-09 11:24

也许简单点,用"request.setCharacterEncoding("gbk");"就可以了,
试试吧

#11
guoxhvip2007-09-09 23:56
以下是引用汪洋兽在2007-9-9 11:24:09的发言:

也许简单点,用"request.setCharacterEncoding("gbk");"就可以了,
试试吧

如果是表单提交的 这方法是可以的

#12
hackboyo2007-09-10 16:38
以下是引用汪洋兽在2007-9-9 11:24:09的发言:

也许简单点,用"request.setCharacterEncoding("gbk");"就可以了,
试试吧

同意你的说法


我以前就是这样做的

#13
yuyunliuhen2007-09-10 16:51
恩,随便找本基础的书都应该会涉及的,好像是经常遇到的问题
#14
zplove2007-09-30 13:40
你要是通过地址栏里传参数你要转换的
String string=new String(request.getParameter("string")).getBytes(ISO8859_1);
#15
lgdcky2007-10-01 23:26
看一下数据库里的编码类型和你程序中的编码类型个一致,不一致的话就用String string=new String(request.getParameter("string")).getBytes(codingType);进行转换;还有一种方法就是用过滤器,不过用UTF-8比较好,兼容性比较好!
#16
litianyi5202007-10-02 17:17
最简单的方式 请写个 “过滤器” 吧
#17
飞跃无限2007-10-04 03:09
楼上的正解。
#18
xrqsjj2007-10-06 16:43
前提是mysql:

你在取数据时:   
例如:

  new String(rs.getString("name").getBytes("iso-5589-1"),"gb2312")

这样写就行了!!!
#19
时空之蕊2007-10-07 12:10
这么麻烦,连接jdbc时设置一下编码,页面使用字符过滤器,一切就ok了
#20
china25qd2007-10-10 19:03

gb2312只支持半角汉字

#21
suncf19852007-10-12 11:03

你要是jsp跳到jsp 的话这个问题我也碰到过!试过好多方法也不行

jsp -->servlet 先查出来,然后在转到别的jsp

不行就加一个字符过滤器

我传个附件上去看看管用不

只有本站会员才能查看附件,请 登录

#22
飞跃无限2007-10-16 23:11
楼上的这样可以。
1