java web应用开发中的汉字编码问题
2018-03-27 22:40
113 查看
正文:有效规避汉字无法正常显示
1.服务器接收请求数据
1.1 url方法接收数据时,仅靠以下三条语句是不够的(写在servlet中)
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");还需要st=new String(st.getBytes("ISO-8859-1"),"utf");来帮忙
比如servlet中获得表单提交的数据namerequest.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8");
String name=request.getParameter(name);
name=new String(st.getBytes("ISO-8859-1"),"utf-8");
1.2 get方法接收数据时,修改tomcat的server文件,重设字符编码;
1.3 post方法接收数据时,以上语句即可。
注:以上是我在做自己的项目时的经验总结,一定要注意,服务器在不同情况下接收数据的不同处理,细节很重要。
附:关于编码 pageEncoding=“utf-8”与ContentType=“text/html;charset=utf-8”的比较分析:pageEncoding:设置JSP源文件和响应正文中的字符集编码。 contentType:设置JSP源文件和响应正文的字符集编码及MIME类型。可见,pageEncoding和contentType都可以设置JSP源文件和响应正文中的字符集编码。但也有区别:设置JSP源文件字符集时,优先级为pageEncoding>contentType。如果都没有设置,默认ISO-8859-1。设置响应输出的字符集时,优先级为contentType>pageEncoding。如果都没有设置,默认ISO-8859-1。一个JSP的源文件需要经过三个阶段,两次编码,才能完成一次完整的输出。(pageEncoding指定编码--utf8(.java文件)--utf8(.class文件)--contentType指定编码) request.setCharacterEncoding("utf-8");设置对客户端请求进行重新编码的编码方式; response.setCharacterEncoding("utf-8");设置对服务器响应进行重新编码的编码方式; response.setContentType("text/html;charset=utf-8");设置对服务器响应进行重新编码的编码方式,且确定浏览器对响应数据的处理办法;
1.服务器接收请求数据
1.1 url方法接收数据时,仅靠以下三条语句是不够的(写在servlet中)
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");还需要st=new String(st.getBytes("ISO-8859-1"),"utf");来帮忙
比如servlet中获得表单提交的数据namerequest.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8");
String name=request.getParameter(name);
name=new String(st.getBytes("ISO-8859-1"),"utf-8");
1.2 get方法接收数据时,修改tomcat的server文件,重设字符编码;
1.3 post方法接收数据时,以上语句即可。
注:以上是我在做自己的项目时的经验总结,一定要注意,服务器在不同情况下接收数据的不同处理,细节很重要。
附:关于编码 pageEncoding=“utf-8”与ContentType=“text/html;charset=utf-8”的比较分析:pageEncoding:设置JSP源文件和响应正文中的字符集编码。 contentType:设置JSP源文件和响应正文的字符集编码及MIME类型。可见,pageEncoding和contentType都可以设置JSP源文件和响应正文中的字符集编码。但也有区别:设置JSP源文件字符集时,优先级为pageEncoding>contentType。如果都没有设置,默认ISO-8859-1。设置响应输出的字符集时,优先级为contentType>pageEncoding。如果都没有设置,默认ISO-8859-1。一个JSP的源文件需要经过三个阶段,两次编码,才能完成一次完整的输出。(pageEncoding指定编码--utf8(.java文件)--utf8(.class文件)--contentType指定编码) request.setCharacterEncoding("utf-8");设置对客户端请求进行重新编码的编码方式; response.setCharacterEncoding("utf-8");设置对服务器响应进行重新编码的编码方式; response.setContentType("text/html;charset=utf-8");设置对服务器响应进行重新编码的编码方式,且确定浏览器对响应数据的处理办法;
相关文章推荐
- unity开发相关环境(vs、MonoDevelop)windows平台编码问题
- [学习]汉字编码及相关问题
- 汉字与多字节编码的转换 - 回复 "不知道" 的问题
- Web 开发中遇到的UTF-8编码的问题总结第1/2页
- php开发中的中文编码问题
- python----mysql链接汉字编码的问题
- 汉字编码问题
- JSP/Servlet 中的汉字编码问题
- web开发 笔记 - 中文编码问题
- JSP/Servlet 中的汉字编码问题
- JSP/Servlet 中的汉字编码问题
- Objective-C编码规范:26个方面解决iOS开发问题
- 在windows下进行python开发的编码问题
- 再论J2EE开发中的编码问题,统一使用UTF-8以适应多语种J2EE开发
- 汉字编码问题
- OpenStack 界面开发中response.body的中文编码问题
- Android开发 post方法上传数值及汉字编码
- 开发中常见的编码和乱码问题
- unity开发相关环境(vs、MonoDevelop)windows平台编码问题
- PHP开发中的中文编码问题