zoukankan      html  css  js  c++  java
  • 解决数据库至页面的乱码问题(全)

    web project中,有很多地方都会设置字符集,最好统一,不然出错的时候就不好找了,都以utf8为例,这是我最喜欢的字符集解决数据库至页面的乱码问题(全),让我们看看都哪些地方设置了字符集。

        首先,mysql服务端,在安装后的配置阶段,最好就把字符集设置为utf8,它默认的是latin1,经常乱码。。。在安装的地方,找到my.ini,有两处字符集的地方,修改一下也可以。

        然后,是sqlyog,sql的客户端,很好用,不过用时间长了,发现sql语句都不会怎么写了,还得复习一下,这个改字符集,我查了好久,软件用的不是很熟啊。。。在创建表的时候,下面有个按钮“advanced properties”,在这里修改字符集为utf8.

       sql端的设置完毕,就到项目中的字符集了。首先,在jsp页面中,最前面要加上这样一句话:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>,否则保存的时候可能就会报错,因为不识别页面中的中文。

       页面搞定以后,就是配置文件了。

       applicationContext.xml中,连接数据库的地方,为了以防万一,连接时出错,还是加上字符集比较好。

       <property name="url"
       value="jdbc:mysql://localhost:3306/mmcwz?useUnicode=true&amp;characterEncoding=UTF-8">
       </property>

       struts-config.xml中,上面会有这样的话:

       <?xml version="1.0" encoding="UTF-8"?>是自动生成的

       web.xml中,很重要的设置,过滤器的设置。

       <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>

    这些都搞定以后,应该就没有问题了。当出现问的时候,要找出哪一步出现了问题,就像刚刚,我在mysql中,use mmcwz,select * from announcementinfo;取出来的表中数据就已经是乱码了,说明是sqlyog和mysql字符集不一致,之后,show create table announcementinfo,发现charset竟然是gbk,这样就找到问题了。也可以在java文件中插桩,如果发现乱码,可能就是配置的问题或者页面设置的问题。

  • 相关阅读:
    UI自动化之鼠标、键盘事件
    iframe框中元素定位
    接口 Interface
    序列化和反序列化
    密封类和部分类
    简单工场设计模式
    ADO.NET数据库操作
    集合
    里氏转换
    装箱和拆箱
  • 原文地址:https://www.cnblogs.com/lidabo/p/2917898.html
Copyright © 2011-2022 走看看