最近在写web的过程中,发现不时出现页面的乱码和数据库存储乱码问题
在网上查了很多的解决方法,所以在此进行总结一下
首先可能的就是页面之间获取数据流的过程中出现编码问题,
一般request获取的话,需要添加以下两句话
保证数据传过来是utf-8格式的
传到数据库之后,可以通过数据库自己来查看内容是否乱码
如果依旧乱码,查看自己数据库的编码格式
如果数据库内容没有乱码,显示的网页却是乱码的
就说明是页面编码问题
在页面添加这两句话,当然有的jsp自动添加了这句话,如果没有,就自己添加
下面是参照其他博主的内容:
pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码
JSP要经过两次的编码,第一阶段会用pageEncoding,第二阶段会用utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。
第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码
所以如果一开始的编码方案就是错误的,那么你编译的java文件就是错误的
第二个阶段就是java的内部源码编译过程,整个过程都是utf-8
第三阶段是Tomcat载入和执行阶段二的来的Java二进制码,输出结果,也就是咱们在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效