jsp+mysql乱码得问题(试过很多方法,请急救)

johnson529 2005-08-10 08:15:03
我的jsp程序插入/修改数据库后中文信息是乱码
我发现唯一不会出现乱码的地方是用了rs.updateString()和rs.updateRow()来处理的
而其他程序是用stmt.executeUpdate()之类处理的.这个时候就不行了.都是乱码.

已经用了的办法:
1. html中加入charset=GBK
2. 生成connection的参数中设置characterEncoding=gb2312"
3. 用了getStr()函数.即:byte[] temp_t=temp_p.getBytes("ISO8859-1");String temp=
new String(temp_t);
我不能要求服务器修改my.ini文件.
我没权利修改远程mysql的属性和参数
那么还有什么方法可以解决现在的问题呢?

看到有帖子说关于"set names "gbk" "的说法,但是这个语句无法在mysql-front的console中运行
如果可以,请给我个肯定正确的表达式.无论console下运行也好,stmt.execute("set names 'gbk'")也好,我都试过,但都不能正确执行.我现在真的没法子了.
感谢帮我的兄弟姐妹,请帮帮我
...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
glorymusic 2006-04-05
  • 打赏
  • 举报
回复
我用的是mysql-font很好用!
hy2003fly 2005-08-12
  • 打赏
  • 举报
回复
mysql-front没有用过,我用的是mysql-browser.
cy_angel 2005-08-12
  • 打赏
  • 举报
回复
是的,同意楼上的分析,我的就是这个样子,jsp页面显示是正常的,但数据库里存的是乱码,我用的字符集是utf8.
jFresH_MaN 2005-08-11
  • 打赏
  • 举报
回复
你的问题是mysql-front本身是有字符集问题,可能你的数据库端和页面上都能正确显示,而mysql-front是乱吗,这个就不用管了。。
johnson529 2005-08-10
  • 打赏
  • 举报
回复
楼上,我在mysql-front里运行你给的语句,结果如下:
Unknown column 'character_set_result' in 'field list'
请给我个能运行的sql文.谢谢.我现在就是苦于没有能运行的sql.否则就可以在stmt.execute()里运行了.
johnson529 2005-08-10
  • 打赏
  • 举报
回复
是这样的,我已经写了个转换函数了,类似于new String(b.getBytes("UTF-8"),"ISO-8859-1")之类的.但是insert到数据库的依然有错.输出倒是没什么.如果我通过mysql-front插入中文,画面的确显示的是中文.说明输出没问题
大家帮我想办法呀.
最好能告诉我精确的sql语句:set names 'gbk'之类的.这个我不能在mysql-front下运行.应该怎么运行呢
yinzhj_2002cn 2005-08-10
  • 打赏
  • 举报
回复
set character_set_result=gbk
hy2003fly 2005-08-10
  • 打赏
  • 举报
回复
我遇到过类似的问题!解决如下:
String RestaurantName=new String(request.getParameter("RestaurantName").getBytes("ISO-8859-1"),"UTF-8");
String Address=new String(request.getParameter("Address").getBytes("ISO-8859-1"),"UTF-8");
String Phone=new String(request.getParameter("Phone").getBytes("ISO-8859-1"),"UTF-8");
....................................
int value=stmt.executeUpdate("update Restaurant set RestaurantName='"+RestaurantName+"' , Address='"+Address+"', Phone='"+Phone+"' where RestaurantID="+request.getParameter("id"));
if(value>0)
{
out.println("修改成功!<a href=pra.jsp>请返回</a>");
}else
{
out.println("修改失败!<a href=pra.jsp>请返回</a>");
}
如果我不用new String(***.etBytes("ISO-8859-1"),"utf8")进行转换的话,出来的页面就会出现乱码。

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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