• 中文乱码总结之web乱码情景


    情景1、当servlet返回js脚本时弹出框显示中文乱码:

    解决:在servlet中加上response.setContentType(“text/html;charset=utf-8”);

    情景2、上传文件时服务端中文文件名乱码:

    原因:网上看到:代码规则以及虚拟机等等都歪果仁发明的通常他们都是采用ISO-8859-1,所以你懂了。需要转码

      new String(multipartFile.getOriginalFilename().getBytes("ISO-8859-1"), "UTF-8");看看文件名是否转换成中文显示,如果是采用下面的方式

    解决:使用 request.setCharacterEncoding("UTF-8"); 向客户端浏览器的http header中
    情景3、ssh框架中文乱码

    解决:

    1:你的集成开发环境设置为UTF-8;

    2:你的tomcat 的service.xml中设置为UTF-8;

    3:你的jsp页面也设置成UTF-8;

    情景4、ssm框架解决中文乱码

    解决:

    SSM框架开发,则可以通过在web.xml中配置字符编码过滤器的方式统一字符编码(只能解决post请求的)

     1 <!-- 配置spring监听 -->
     2   <listener>
     3     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     4   </listener>
     5 
     6 
     7   <!-- 统一字符编码 -->
     8   <filter>
     9     <filter-name>CharacterEncodingFilter</filter-name>
    10     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    11     <init-param>
    12         <param-name>encoding</param-name>
    13         <param-value>utf-8</param-value>
    14     </init-param>
    15     <init-param>  
    16         <param-name>forceEncoding</param-name>  
    17         <param-value>true</param-value>  
    18     </init-param>  
    19   </filter>
    20 
    21   <filter-mapping>  
    22      <filter-name>CharacterEncodingFilter</filter-name>  
    23      <url-pattern>/*</url-pattern>  
    24    </filter-mapping>  

    get请求的请修改tomcat的配置文件中修改为UTF-8

    <Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
  • 相关阅读:
    Java集合知识点小结
    集合类说明及区别
    微信翻译机器人实战
    细说:域名与SEO存在什么关系
    我为PHP摇旗呐喊!
    每个程序员都该知道的10大编码原则
    浏览器加载模式:window.onload和$(document).ready()
    修改Mysql编码集
    java实现LIS算法,出操队形问题
    [笔记]: 前向星 标签: 数据结构存储 2017-05-25 09:13 35人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/XiDaPuBen/p/9177078.html
Copyright © 2020-2023  润新知