zoukankan      html  css  js  c++  java
  • 理解web编码原理,解决乱码

    jsp 编码及乱码解决方案

    1. 在web中request 的生存周期是从一次request开始到本次response结束,在这个过程中对象是如何编码的,只有理解浏览器、web应用的编码解码,我们在开发过程中才可以避免乱码的困扰。

    在jsp 页面中,有3中编码信息

    <% @ page pageEncoding="utf-8"  %>

     另外,该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码

    <%@page  contentType="text/html,charset=utf-8" %>

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> </body> </html>


    1 处的编码表示jsp 将按此编码被翻译为servlet。同时也指定了jsp页面本身的编码方式为UTF-8

    2 处的编码表示当web响应浏览器的请求时,response页面在浏览器端用哪种编码解析。与在servlet中使用response.setCharaterEncoding("utf-8")等同;

    3 处的编码表示当前页面用post提交数据时,浏览器对数据的编码方式。

    乱码问题发生在浏览器、web服务端 发送和接收时的编码解码方式不同造成的。

    浏览器发送数据时对URL及参数的编码依据是2 对 页面中post数据的编码使用3

    服务端在接收数据时,对于post数据通过request.setCharacterEncoding("utf-8");

    对于get方式提交的数据通过在tomcat server.xml配置URIEncoding="utf-8"解决,这个主意是针对get方式提交数据,useBodyEncodingForURI为true,表示针对不同应用使用自身的编码。服务端在发送数据时编码依赖顺序是response.setCharacterEncoding—contentType—pageEncoding(后两者是在被发送页面中)
    spring中过滤器解决乱码问题。   

    我们知道java是unicode编码,unicode是可变长编码,只规定了2进制的表示,没有规定它的实现,而utf-8,utf-16就是unicode的实现。jvm 采用unicode编码,

    对于本人遇到的编码问题及查阅网络资料的总结,收笔时间:2012年11月18日20:19:25,另推荐一篇,该篇总结的很全,希望对于新手有所帮助。

    http://blog.sina.com.cn/s/blog_600046120100thst.html 

    http://www.iteye.com/topic/311583  

    http://www.iteye.com/topic/1097560

  • 相关阅读:
    SCILAB简介[z]
    UG OPEN API编程基础 2约定及编程初步
    Office 2003与Office 2010不能共存的解决方案
    UG OPEN API 编程基础 3用户界面接口
    NewtonRaphson method
    UG OPEN API编程基础 13MenuScript应用
    UG OPEN API编程基础 14API、UIStyler及MenuScript联合开发
    UG OPEN API编程基础 4部件文件的相关操作
    UG OPEN API编程基础 1概述
    16 UG Open的MFC应用
  • 原文地址:https://www.cnblogs.com/guoyuqiangf8/p/2776281.html
Copyright © 2011-2022 走看看