zoukankan      html  css  js  c++  java
  • java web中文乱码处理笔记

    一、发生中文乱码的情况有以下三种:

    1.表单form的两种提交出现中文乱码

    ① get提交   ② post提交

    2.超链接(本质是get提交)出现中文乱码

    3、sendRedirect(发生乱码)

    二、乱码产生的原因:

      浏览器编码 utf-8 发送请求给服务器是会产生编码不一致的情况
    所以在发送请求是先定义编码,就能很好的解决编码的问题

    三、解决乱码的几种简单方式:

      post方法提交:解决方案如下: request.setCharacterEncoding(“utf-8”);

    get方法使用该方法的时候还是不能解决问题依然出现乱码,针对get提交所用的处理方法

    封装成为一个工具类来处理:

    public class Mytool{
        public static String getNewString(String str){
            String newString="";
            try{
            newString= new String(str.getBytes("iso-8859-1"), "utf-8");
            }catch(Exception e){
                e.printStackTrace();
            }
            return newString;
        }
    }

    调用工具类:

    String u = request.getParameter("username");
    Mytool.getnewString(u);

      超链接的提交方式和get的提交处理是一样的

    四、兼容浏览器的版本信息问题,如果IE6或以下版本,第二、三种会出现乱码

      超链接乱码 和 sendRedirect乱码
    String info=java.net.URLEncoder encode("你好吗.jpg",“utf-8”);
    <a href="" + info>测试</a>
    response.sendRedirect("servlet地址 ?username= " + info);

    后记:

      在服务器端是中文,在response的时候,也要考虑浏览器是否显示正确
    response.setCharacterEncoding(“utf-8”);
    response.setContentType("text/html;charset=utf-8")

  • 相关阅读:
    敏捷宣言遵循的原则
    Python学习笔记(11):更多内容
    VBScript之Eval函数与Execute语句(Array.ForEach的实现)
    QTP自动化测试之VBScript对象
    ASP.NET服务器端数据查询控件
    Oracle 日期及GUID
    wp7查询公交路线
    wp7搜索引擎
    在windowsPhone中怎么样存储数据
    客户端PLSQL Developer连接远程数据库Oracle
  • 原文地址:https://www.cnblogs.com/qingcong/p/5902478.html
Copyright © 2011-2022 走看看