zoukankan      html  css  js  c++  java
  • 中文乱码总结之JSP乱码

    一、JSP中文乱码问题

    JSP页面的汉字显示为乱码,而英文和阿拉伯数字正常。

     

    二、原因

    汉字编码时用的字符集 与解码用的字符集不一致;所有的字符集都兼容ASCII码,所以英文数字不存在乱码。

    编号

    名称

    单字长度

    能否对汉字编码

    ASCII

    美国信息交换标准代码

    7bit

    ISO-8859-1(Latin1)

    西文编码

    8bit

    GBK(ANSI)

    汉字内码扩展规范

    英文单字节,中文双字节

    UTF-8

    万国码

    1~4个字节

    注: GBK(“国标扩展”的拼音首字母)是对GB2312的扩展

    三、方法

    1. 通过Page指令的pageEncoding属性,指明JSP源文件使用哪个字符集编码。

    2.在未告知的情况下,浏览器自动选择的解码字符集与网页的编码不一致:

    l  浏览器用户手动纠正:查看->字符编码-> UTF-8或GBK

    l  在JSP中使用response.setContentType(“text/html; charset=UTF-8”)明示

    3. 用户通过HTML表单提交了中文,但是Tomcat、MySQL的默认字符集是ISO-8859-1。

    l  对应POST表单,通过request. setCharacterEncoding(charset)明确告诉Tomcat用什么字符集;

    对于GET表单,修改Tomcat/conf/server.xml中HTTP Connector的属性

    useBodyEncodingForURI=”true”  或者  URIEncoding=”UTF-8”

    l  将MySQL的字符集,设置为UTF-8或GBK

    结论:默认靠不住,最好明确指定UTF-8GBK

  • 相关阅读:
    fstat、stat和lstat 区别
    listen()函数中的SOMAXCONN含义
    #ifndef#define#endif的用法(整理)
    stdin和STDIN_FILENO的区别(转)
    S_ISREG等几个常见的宏
    *_t 数据类型
    IO模式精细讲解: MSG_DONTWAIT 、 MSG_WAITALL
    c标准函数库(查阅使用)
    stdint.h
    C# RichTextBox控件常用屬性和事件
  • 原文地址:https://www.cnblogs.com/XiDaPuBen/p/9176865.html
Copyright © 2011-2022 走看看