zoukankan      html  css  js  c++  java
  • java向mysql数据库插入数据显示乱码的问题

    在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题。针对该问题的主要解决办法就是:

    一、确保是否添加了字符集过滤器:

         在java web工程中的web.xml里,添加以下代码解决乱码:

        <filter>
            <filter-name>SpringEncodingFilter</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>
            <init-param>
                <param-name>forceEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>SpringEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    二、确保创建的数据库是否配置支持中文,如下图所示进行配置:

        

    三、如果仍然乱码,则就是mysql的编码问题(mysql默认编码为:latin1):

          1、查看mysql编码配置:

              “运行”——>输入“mysql”——>弹出mysql客户端对话框——>以root身份进入mysql:

               进入后:输入命令:"show variables like 'character%';" 查看mysql字符编码,结果如下:

               

              说明不支持中文编码,所做的操作就是:

              在mysql的安装目录下,找到“my.ini”(windows系统下后缀为ini, Mac系统下后缀为cnf, )的配置文件,以记事本方式打开:

              找到客户端配置 [client],在下面添加 “default-character-set=utf8”,后找到 [mysql] ,在下面添加 “default-character-set=utf8”,然后搜索“default-character-set”,把所有的default-character-set 都改为“utf8“(注:通常在改了[client]和[mysql]之后,其余位置的也需要改),如下如所示:

           

          然后重启mysql服务,再次” show variables like 'character%'; “查看mmysql字符编码,结果如下所示:

     

     然后测试向数据库添加数据,乱码问题不再出现。

  • 相关阅读:
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解Linux系统调用
    基于mykernel 2.0编写一个操作系统内核
    如何评测软件工程知识技能水平?
    创新产品的需求分析:未来的图书会是什么样子?
    案例分析:设计模式与代码的结构特性
    业务领域建模Domain Modeling
    工程实践用例建模
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    面向对象第三单元作业反思与总结
  • 原文地址:https://www.cnblogs.com/laogai/p/4922854.html
Copyright © 2011-2022 走看看