这篇文章主要介绍html中post乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!html post乱码的解决办法:首先打开相应的代码文件;然后将post传递过来的ISO编码内容,改成UTF-8格式的内容
这篇文章主要介绍html中post乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
html post乱码的解决办法:首先打开相应的代码文件;然后将post传递过来的ISO编码内容,改成UTF-8格式的内容即可。
本文操作环境:windows7系统、HTML5版,DELL G3电脑
HTML使用post方式提交中文内容出现乱码的错误解决方式
今天在做一个例子的时候,使用post方式提交表单,如果有中文的话,在另一个页面显示出来的时候,总是会出现乱码;
但是将提交方式改为get的时候,就不会出现这种错误。
详细错误见下面图片和代码。
HTML代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta Http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>测试Cookie的设置和获取</title> 6 </head> 7 <body> 8 <fORM action="/TestTomcat/SetCookie" method="post"> 9 站点名:<input type="text" name="name"><br>10 站点URL:<input type="text" name="url"><br>11 <input type="submit" value="提交" />12 </form>13 </body>14 </html>
Servlet代码,截取一部分:
1 response.setContentType("text/html;charset=utf-8"); 2 3 PrintWriter out=response.getWriter(); 4 5 String title="设置Cookie实例"; 6 String docType="<! DOCTYPE html>\n"; 7 out.println(docType+ 8 "<html>\n"+ 9 "<head><title>"+title+"</title></head>"+10 "<body bGColor=\"#f0f0f0\">\n"+11 "<h2 align=\"center\">"+title+"</h2>\n"+12 "<ul>\n" +13 " <li><b>站点名:</b>"14 + request.getParameter("name") + "\n</li>" +15 " <li><b>站点 URL:</b>"16 + request.getParameter("url") + "\n</li>" +17 "</ul>\n" +18 "</body></html>");
出现的错误:
一开始我以为时代码块放置的位置不对,将上面代码放在了doPost里面试了一下,还是出现这种错误。
那么如何用post方式传递中文呢?
通过查找资料,
post方式提交
对于这种情况,response.setCharacterEncoding有影响,当没有对response.setCharacterEncoding设置的时候值为null,则默认采用iso-8859-1来进行重新编码(解码)。
浏览器根据自己页面的编码格式作为起始编码格式,把字符进行编码成byte进行传输,到了tomcat,tomcat不进行干涉其中的重新编码(解码)格式。如果response.getCharacterEncoding为null,那么默认采用iso-8859-1进行重新编码(解码)成字符,如果设置了,就按照设置的编码格式进行重新编码(解码)字符。
POST传过去的都是单字节数据.所以POST传来的数据编码都是ISO-8859-1的单字节数据.因此英文和数字不会有乱码...在这种情况下.过滤器和server.xml里的设置都是无效的.当然request.setCharacterEncoding()也是无效的因为setCharacterEncoding的原理跟过滤器一样;
对于上面问题正确的处理方式应该为:
String nameStr=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
将post传递过来的ISO编码内容,改成UTF-8格式的内容,然后再输出。
html的全称为超文本标记语言,它是一种标记语言,包含了一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体,html文本是由html命令组成的描述性文本,html命令可以说明文字,图形、动画、声音、表格、链接等,主要和CSS+js配合使用并构建优雅的前端网页。
以上是“html中post乱码的解决方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!
--结束END--
本文标题: html中post乱码的解决方法
本文链接: https://lsjlt.com/news/278248.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0