脚本宝典收集整理的这篇文章主要介绍了

Linux MySQL utf8 存入中文乱码

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

项目使用了ExpresssequelizejsMySQL作为基础开发工具。本地开发运行一切正常,到了生成环境,发现向数据库存中文,就出现乱码。

其实乱码问题很容易猜到可能是字符集的问题,然后核对数据库,发现没有问题。

咨询了其他人,可能是在存入的时候没有转成对应的字符集。

查询 sequelizejs 配置,指定一个。发现还是不能解决。

const sequelize = new Sequelize('database', 'username', 'password', {     dialect: 'mysql',     define: {         charset: 'utf8',         dialectOptions: {             collate: 'utf8_general_ci'         }     } })

后来发现,是 MySQL 默认字符集的问题。

操作如下。

## 进入 MySQL  mysql -u root -p ## 输入密码  ## 查看各种默认配置 show variables like '%char%';  ## 会有一个表 大概如下 ## 部分utf8 可能会是其他值,然后我们慢慢修改 ## set character_set_client=utf8 ## 也可以用以上方法设置,但重启 mysql 又会回到原点 +--------------------------+----------------------------+ | Variable_name            | Value                      | +--------------------------+----------------------------+ | character_set_client     | utf8                       | | character_set_connection | utf8                       | | character_set_database   | utf8                       | | character_set_filesystem | binary                     | | character_set_results    | utf8                       | | character_set_server     | utf8                       | | character_set_system     | utf8                       | | character_sets_dir       | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
## 退出数据库  vi /etc/my.cnf  ## 编辑这个配置文件 ## 在对应的区域添加、新增  [mysqld] character-set-server=utf8  [client] default-character-set=utf8  [mysql] default-character-set=utf8  ## 重启mysql服务 ## 再去看 char 就都是uft8 真棒 

原文阅读:Linux MySQL utf8 存入中文乱码

总结

以上是脚本宝典为你收集整理的

Linux MySQL utf8 存入中文乱码

全部内容,希望文章能够帮你解决

Linux MySQL utf8 存入中文乱码

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过