zoukankan      html  css  js  c++  java
  • 解决中文数据存入数据库乱码, 页面乱码等问题

    当数据库或页面出现中文乱码时通常需要从以下几个地方进行分析

    1.页面编码

    2.数据库连接语句(如果数据连接的properties文件编码与数据库编码格式不一致会导致存入数据库的数据乱码不论中文英文同意乱码)

    •  设置characterencoding为UTF-8 如jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF8
    • 如果使用Hibernate,那就把所有的配置文件头部的编码格式改成UTF-8。

    3.Tomcat

    •    为了保证get/post数据都采用相同的UTF8编码,我们在server.xml中进行了如下设置: <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443"  URIEncoding="UTF-8" />

    4. struts2配置

    • struts2在配置struts.properties文件中加上struts.i18n.encoding=UTF-8 或者在struts.xml里加上<constant name="struts.i18n.encoding" value="UTF-8" />

    在web.xml文件里配置filter 

    <filter>
      <filter-name>encodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <init-param>
       <param-name>encoding</param-name>
       <param-value>GBK</param-value>
      </init-param>
     </filter>
     
     <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping> 

    5.数据库(mysql)

    可以先输入查询语句SHOW VARIABLES LIKE 'character_set_%';,查看所有的编码是否是UTF-8.

    如果不是可以使用Server Instance Config 把默认的字符集设置为utf-8或者修改/MySQL/MySQL Server 5.0/my.ini中的default-character-set=gbk

    character-set-server=gbk;

    然后重新启动mysql的服务就行了

  • 相关阅读:
    css选择器
    《大巧不工》读书笔记
    《现代软件工程》实验二
    github使用心的
    ADO.NET之注入式攻击
    ADO.Net之SqlConnection、 Sqlcommand的应用(读书笔记1)
    实现划桨板块的自动轮播
    js基础
    JQuery的一些方法
    css兼容问题
  • 原文地址:https://www.cnblogs.com/YingYue/p/4383198.html
Copyright © 2011-2022 走看看