美文网首页
JSP 编码问题

JSP 编码问题

作者: blank_white | 来源:发表于2020-06-22 19:23 被阅读0次

中文乱码问题可以按请求过程,从以下几个方面查找

首先客户端发起请求

1、客户端 form 表单所在页面,即浏览器页面编码

form 表单提交 nameText 为 李白

http://192.168.1.105:8080/mySites/Hello?nameText=李白

浏览器设置编码 utf-8 实际 url:
http://192.168.1.105:8080/mySites/Hello?nameText=%E6%9D%8E%E7%99%BD

浏览器设置编码 gbk 实际 url :
http://192.168.1.105:8080/mySites/Hello?nameText=%C0%EE%B0%D7

2、服务器收到请求

服务器收到的请求,其默认的编码是 ISO-8859-1

// 将 post 请求中的参数转成 utf-8 编码
// 是设置对客户端 post 请求和数据库取值时的编码,不指定的话使用iso-8859-1
request.setCharacterEncoding("utf-8");
// 此时 str 为 utf-8 
String str=req.getParameter("nameText");

// 对于 get 请求中的
String utfString=new String(str.getBytes("ISO8859_1"),"utf-8");

解决GET乱码可以修改tomcat的server.xml中的 URIEncoding属性
或使用
str = new String(str.getBytes("iso-8859-1"),"utf-8");

3、访问数据库时向数据库传递的参数编码,

4、从数据库取出的数据的编码

5、响应页面编码设置

//设置 HTTP 响应的编码
resp.setCharacterEncoding("utf-8");
//设置响应头
resp.setHeader("Content-Type","text/html;charset=utf-8");

// 等效上面两个一起用,同时额外 告诉浏览器应该以什么编码方式的页面显示
resp.setContentType("text/html;charset=utf-8"); 

前两个要一起用

// tomcat 7  chrome  输出使用 jsp  <%="***??你好????x?????*??****"%>
实际测试 resp.setCharacterEncoding 和 resp.setHeader 都会改变响应头的字段
Content-Type: text/html;charset=utf-8

两个设置不一样的时候以后者为准
response.setCharacterEncoding("gbk");
response.setHeader("Content-Type","text/html;charset=utf-8");
            

6、jsp 、html 文件本身的编码

在编写 jsp 代码的时候,使用的编辑器是以哪种编码形式保存的需要注意
如 vscode 修改文本编码格式

image.png

相关文章

  • JSP 编码问题

    中文乱码问题可以按请求过程,从以下几个方面查找 首先客户端发起请求 1、客户端 form 表单所在页面,即浏览器页...

  • 面试(一)

    面试题(一) 一、中文问题 jsp页面乱码问题1) 浏览器编码问题页面格式问题,jsp页面有一个标签 pageEn...

  • [JSP]JSP中提交参数编码问题

    在没有任何拦截器和过滤器的情况下: 通过Get方法提交的编码与JSP文件编码相同 通过POST方法提交的是ISO-...

  • JSP 乱码解决方法

    很多时候引起的原因是在jsp页面中没有指定编码,在jsp页面最上面加上如下: 有时也可能是response返回的编码问题

  • 中文搜索乱码

    1、统一编码:项目过滤器请求输出编码--tomcat server.xml--jsp页面三者编码需相同才不会出问题...

  • IDEA中Tomcat在控制台乱码问题以及IDEA编码设置UTF

    在idea中经常遇到jsp的乱码问题,原因是编码不是UTF-8的问题,这次来彻底解决idea的编码问题 首先设置i...

  • IDEA中Tomcat在控制台乱码

    在idea中经常遇到jsp的乱码问题,原因是编码不是UTF-8的问题,这次来彻底解决idea的编码问题 首先设置i...

  • 关于jsp编码问题测试结果

    Java代码: jsp页面: 该jsp页面总的有三种编码方式: 使用开发工具为 Intellij IDEA 201...

  • JSP编码问题小结和疑惑

    1 . request.setAttribute("中文");这个放进去就是乱码!,刚放进去调试查看request...

  • eclipse永久设置jsp等文件为utf-8格式

    Eclipse编码格式utf-8 jsp修改

网友评论

      本文标题:JSP 编码问题

      本文链接:https://www.haomeiwen.com/subject/rkzvyhtx.html