• 数据库中文乱码及分析


    数据库出现乱码主要是因为服务器端与客户端,或者是数据库本身编码不同造成的。

    主要的情况如下:

    一.mysql数据库的问题

    测试:

      使用mysql -u root -p登录数据库,输入

     我这个是改完之后的,保证所有的都是utf8.

     方法是:

    Mac:

      找到安装路径下的my.cnf文件,到/usr/local/mysql/support-files目录下将mac上的mysql配置文件模板my-default.cnf拷贝到/etc下,并将文件名改成my.cnf,之后用文本编辑器打开,添加一下内容。后面两个要放到文件最后,要不会启动不了mysql。之后保存,测试一下是否可以使用

    [mysqld]

    character-set-server=utf8  #注意这行不要写成 default-character-set=utf8

    [client]

    default-character-set=utf8

    [mysql]

    no-auto-rehash 

    windows:

    找到my.ini文件位于C:ProgramDataMySQLMySQL Server 5.1目录下,如果找不到就在命令行MySQL 5.6 Command Line Client的快捷方式配置中(也就是右击找到属性),查看目标一栏,这个就是my.ini的地址

    二.navicat的问题(其他数据库工具没用过,可能也有这个问题)

    步骤与mysql相同,这是修改完之后的,如果不一样就是这个的问题了(折腾了一下午,就是这个问题)

         

    解决:

      在上面的步骤(也包括第一个)无误的基础上,重启mysql

    Mac:

    sudo /usr/local/mysql/support-files/mysql.server restart 

    windows:

    net stop mysql;停止mysql

    net start mysql;启动mysql

     

     

     

    在navicat中创建新的连接,设定编码集为自动或者是utf8都可以,之后就可以了

    ————————————————————————————————————————————————————————————————————————————————————

    之后的就是页面方向出现的问题了,如果确认多次页面接收没有问题,基本可以不用看

    ————————————————————————————————————————————————————————————————————————————————————

    三.jsp—— >servlet的问题(也有可能是另一个接收数据的jsp页面)

      测试

          在接收端将接收到的数据使用system.out.print()输出

      结果和操作:

        1.如果产生乱码:在接收页面之前使用,下面两行代码

          request.setCharacterEncoding("UTF-8");

                response.setContentType("text/html;charset=utf-8");之后就可以照常使用set函数对变量进行赋值了。

        2.如果没有产生乱码:该层次乱码可能性排除

    二.Dao层的问题(也就是在java中写的数据库语句的部分)

       测试

          在dao层中将接收到的数据使用system.out.print()输出,也就是这个地方

      结果和操作:

        出现的可能性不大,我没有出现过(如果出现欢迎在评论区补充)

    三.Connection的问题(没有遇见过,不过网上有的给出过关于这个的答案)

       结果和操作:

         在connection的url之后添加

         ?useUnicode=true&characterEncoding=utf-8

         当然如果你连接数据库的方式和我一样,有useSSL=false的话,你还要在后面再加一个&,如图

  • 相关阅读:
    外媒曝Snapchat“被追”全过程:腾讯最先出手 脸书谷歌跟风
    Instagram
    阅后即焚
    Snapchat
    WhatsApp
    Facebook
    优酷网Youku
    土豆网与Youtube比较
    土豆网
    YouTube
  • 原文地址:https://www.cnblogs.com/tianxiayoujiu/p/8856821.html
Copyright © 2020-2023  润新知