Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!相关的知识,希望对你有一定的参考价值。

问题:

  在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values(‘汉字‘);    

  会出现如下提示:  Query OK, 1 row affected, 1 warning (0.00 sec)    表明出现错误,没有插入成功,然后执行select * from 表名   就会出现如下的问题:显示的表中出现乱码或者问号。

  如图:

      技术分享

解决方案:

  首先重新打开一个终端窗口(方便操作),进入root用户模式

  执行 vim/vi   /etc/mysql/my.cnf (此路径根据个人的安装情况,一般默认是这个路径)

  在my.cnf 文件中在对应位置修改(添加)如下内容:  

  [client]
  default-character-set=utf8

  [mysqld]
  character-set-server=utf8
  init_connect=‘set names utf8‘

  注意:此处不要添加  default-character-set=utf8 ,否则在重启数据库的时候会出现failed to start错误!!!!!

  [mysql]
  default-character-set=utf8

  以上内容修改完毕,保存退出。

  执行service mysql restart 重启mysql数据库

  执行mysql -u root -p(此处重新登录是为了避免出现由于没有修改文档出现之前的乱码的问题)重新进入数据库

  执行show variables like ‘character_set_%‘;就会出现如下图所示内容:

  技术分享

  然后执行insert into 库名(属性)values(‘汉字‘)重新插入中文数据,此时就会正确显示中文了!!!如下图所示:

  技术分享

 

 

  备注:此文章在参考他人的许多文章总结之后的结果!!!希望给大家提供帮助!

  

 





以上是关于Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!的主要内容,如果未能解决你的问题,请参考以下文章

mysql批量插入数据

在linux环境下用中文查询数据库

如何创建一个mysql.sql文件存放建表语句和插入测试数据语句

java连sql 插入用数据用for循环,求大神指导。

Linux数据库:mysql下如何执行sql脚本_第2页

Shell脚本中执行sql语句操作