为什么用servlet在数据库增加汉字记录时,全部都是问号(????),不单是在网页上显示,而且在数据库里也一样

cacaca 2004-03-21 01:45:07
为什么用servlet在数据库增加汉字记录时,全部都是问号(????),不单是在网页上显示,而且在数据库里也一样
...全文
80 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjinbao 2004-04-04
  • 打赏
  • 举报
回复
我也遇到同样问题
easyelic 2004-04-01
  • 打赏
  • 举报
回复
问GBK和GB2312一样还是有什么不同?
yatoo 2004-04-01
  • 打赏
  • 举报
回复
jk3278jk(编程先锋) 的很实用!!
dengyin2000 2004-03-22
  • 打赏
  • 举报
回复
String username=request.getParameter("username");
byte[] tmpbyte=username.getBytes("ISO8859_1");
username=new String(tmpbyte);
zzjno11 2004-03-22
  • 打赏
  • 举报
回复
输出和输入到数据库里时是需要字符转换.
否则输入输出时会出现乱码!!
向数据库输入时代码中加入。


//转换字符串的编码格式
request.setCharacterEncoding("字符集名");
字符集名如:GBK,gb2312


将字符转换就不会出现乱码了.
wjdlilin 2004-03-22
  • 打赏
  • 举报
回复
子符集问题
candour0079 2004-03-22
  • 打赏
  • 举报
回复
DESL(奇多多 o_O) 的完全正确。
jinsfree 2004-03-22
  • 打赏
  • 举报
回复
对,转换一下就好了
jk3278jk 2004-03-22
  • 打赏
  • 举报
回复

在要获取表单提交数据的语句前加上这一句就行了!

//转换字符编码
request.setCharacterEncoding("GBK");
//再获取数据就没问题了
String username = request.getParameter("username");
String password = request.getParameter("password");
XIHSHI 2004-03-21
  • 打赏
  • 举报
回复
肯定是字符集的问题,你找资料好好看看,就可以了
ji66 2004-03-21
  • 打赏
  • 举报
回复
把数据先用函数转换为gb,再向数据库里插
flice 2004-03-21
  • 打赏
  • 举报
回复
编译时encding ISO_8859_1
DESL 2004-03-21
  • 打赏
  • 举报
回复
输出和输入到数据库里时是需要字符转换.
否则输入输出时会出现乱码!!
象页面输出时需要
<%@ page contentType="text/html;charset=gb2312" %>
向数据库输入时
str = new String(str.getBytes("iso-8859-1"), "GBK");
将字符转换就不会出现乱码了.

81,116

社区成员

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

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