如下所示,一下是doPost的方法体
没明白
resp.setCharacterEncoding("utf-8") 这一句为什么不起作用而导致resp.getOutputStream().println(req.getParameter("test")) 出现错误。
response对象的编码仍然是iso8859-1。另外,我以doGet方式提交的时候,后台打印
new String(value.getBytes("ISO8859-1"),"utf-8")仍然是乱码。这个转码没作用吗?
try {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8"); // 未起作用
resp.setCharacterEncoding("utf-8"); // 未起作用
System.out.println("do exe:");
System.out.println(req.getParameter("test"));
resp.getOutputStream().println(new String("测试".getBytes("utf-8"),"iso8859-1"));
resp.getOutputStream().println(req.getParameter("test")); // 报错行
resp.getOutputStream().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
输出结果:
do exe:
测试
java.io.CharConversionException: Not an ISO 8859-1 character: 测
没明白
resp.setCharacterEncoding("utf-8") 这一句为什么不起作用而导致resp.getOutputStream().println(req.getParameter("test")) 出现错误。
response对象的编码仍然是iso8859-1。另外,我以doGet方式提交的时候,后台打印
new String(value.getBytes("ISO8859-1"),"utf-8")仍然是乱码。这个转码没作用吗?
try {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8"); // 未起作用
resp.setCharacterEncoding("utf-8"); // 未起作用
System.out.println("do exe:");
System.out.println(req.getParameter("test"));
resp.getOutputStream().println(new String("测试".getBytes("utf-8"),"iso8859-1"));
resp.getOutputStream().println(req.getParameter("test")); // 报错行
resp.getOutputStream().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
输出结果:
do exe:
测试
java.io.CharConversionException: Not an ISO 8859-1 character: 测
解决方案 »
- java文件中怎么不能从会话中取值
- sql排序,请大家帮忙看看,我是菜鸟
- java中request.setAttribute()怪异问题
- 用java如何获取别人网页上的信息??
- 求JSP+SQLserver2005或者MY SQL的同学录系统,有源码+数据库,谢谢,急用!
- 急!~域名绑定后如何设置主页?
- TOMCAT运行1天就死了
- 在jsp中把表格导入到Excel中中出现问题,求救!
- 为什么在jsp中不能调用一个类返回的数值?
- 如何实现选项的自动转换????
- 新手求解,使用struts报错Cannot retrieve definition for form bean studsForm on action /stu
- 菜鸟询问报表问题
create database db default character set utf8;写连接数据库代码时可以在url后面加些参数:String url = "jdbc:mysql://localhost:8080/db?useUnicode=true&characterEncoding=utf8";
还没连数据库, “测试”这两个字是从前台HTML传过来的。
求解啊!
试下new String(req.getParameter("test").getBytes("iso-8859-1"),"utf-8")
用post提交
PrintWriter out = response.getWriter();
out.println(".......");
变量值:-Dfile.encoding=UTF-8
首先输出你的编码格式,如果不是UTF-8建议配置本机环境变量我的电脑-属性-高级-环境变量-系统变量
变量名:JAVA_TOOL_OPTIONS
变量值:-Dfile.encoding=UTF-8配置后就可以搞定乱码问题
放到最后一行,楼主不妨试试。。