Maison  >  Questions et réponses  >  le corps du texte

mysql 插入的数据是乱码

黄舟黄舟2766 Il y a quelques jours475

répondre à tous(4)je répondrai

  • 大家讲道理

    大家讲道理2017-04-17 13:30:37

    客户端的编码跟数据库的编码不统一造成的。
    你是从terminal中输入么?
    比如你terminal中的编码是GBK,而服务器的数据库虽然是采用 UTF-8 编码,但却可以识别通知服务器端的 GBK 编码数据并将其自动转换为 UTF-8 进行存储。可以使用如下语句来快速设置与客户端相关的编码集:
    set names gbk;
    设置完成后即可解决客户端插入数据或显示数据的乱码问题了,但我们马上会发现这种形式的设置只会在当前窗口有效,当窗口关闭后重新打开 CMD 客户端的时候又会出现乱码问题;那么,如何进行一个一劳永逸的设置呢?在 MySQL 的安装目录下有一个 my.conf 配置文件,通过修改这个配置文件可以一劳永逸的解决乱码问题。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:

    [mysql]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8

    这时只需要将下的默认编码 default-character-set=utf8 改为 default-character-set=gbk ,重新启动 MySQL 服务即可。

    répondre
    0
  • 黄舟

    黄舟2017-04-17 13:30:37

    导入前 set names utf8;

    répondre
    0
  • 高洛峰

    高洛峰2017-04-17 13:30:37

    这个一般是字符集设置不一致的问题,通过编辑器设置,或者在代码里设置试试

    répondre
    0
  • 高洛峰

    高洛峰2017-04-17 13:30:37

    刚学习写程序的时候也出现过各种乱码,导入数据库乱码,数据库不乱码之后,从数据库读出的数据显示的乱码,各种乱码,后来全部统一utf8,
    数据库设置utf8,
    文件导入时文件的文字类型也是utf8,
    通过代码导入也是set一下charset为utf8
    编辑器编辑的文件格式utf8,
    网页的charset也utf8.

    répondre
    0
  • Annulerrépondre