通过Get方式提交参数,url:
http://localhost:8080/aaaa/light?nick="aaa"&mobile=""&prov="江西"&city="景德镇"&game="对对碰"
Servlet里面的doGet代码:
[code="java"]
String nick = new String(req.getParameter("nick").getBytes("ISO-8859-1"),"UTF-8");
String mobile = new String(req.getParameter("mobile").getBytes("ISO-8859-1"),"UTF-8");
String prov = new String(req.getParameter("prov").getBytes("ISO-8859-1"),"UTF-8");
String city = new String(req.getParameter("city").getBytes("ISO-8859-1"),"UTF-8");
String game = new String(req.getParameter("game").getBytes("ISO-8859-1"),"UTF-8");
LightMap lm = new LightMap();
lm.insertLightRecord(nick, prov, city, game, mobile);
[/code]
数据库采用的是utf8编码。
如果将Servlet的doGet代码改成
[code="java"]
String mobile = new String(req.getParameter("mobile").getBytes("ISO-8859-1"),"GBK");
[/code]
那么这个字段中文就不会乱码
请问哪位能帮帮我。谢谢!
Servlet+JDBC+MySQL乱码
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- shadabing 2011-04-24 12:03关注
你应该用的是IE浏览器吧,IE默认是用gdk编码的,即使你指定用UTF-8方式发送,
而服务器端用的是ISO8859-1解码的
所以1.String mobile = new String(req.getParameter("mobile").getBytes("ISO-8859-1"),"GBK");
mobile在内存中用eclipse看到是中文而与数据库打交道,就需要看服务器端与数据库编码转换
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器