MySQL数据库中文变问号'???' 解决
创始人
2025-02-12 19:21:00
0次

[[192287]]

今天遇到了一个问题,后端逻辑处理完存到MySQL数据库里的中文内容都变成问号 ‘???’了。 第一反应是我数据库的排序规则搞错啦? 马上登上phpadmin看了一眼,没毛病 都是utf8_general_ci,手动修改问号成中文也都正常显示。 这里要说一下另外一个问题,开始没注意这个排序规则,默认的是latin1。导致的问题就是数据表中完全不能显示中文,不是乱码 是直接报错。

好啦,既然不是这个问题,那又是什么呢?

在网上找了一下,问题还挺“普遍的”。大致上就是字符集编码问题,改一下就好了,下面是我找到的解决方式(参考其他答主 因为太零碎了就不一一贴参考链接了 再说我也实在不知道哪个才是原答主【ε=ε=ε=┏(゜ロ゜;)┛】):系统环境是Ubuntu 14.04,Windows请找my.ini。

1.

  1. sudo vi /etc/mysql/my.cnf 

2.在[client]/[mysqld_safe]/[mysql]下面依次加入

  1. default-character-set=utf8  
  2. 在[mysqld]下面加入  
  3. init_connect=’SET collation_connection = utf8_unicode_ci’  
  4. init_connect=’SET NAMES utf8’  
  5. character-set-server=utf8  
  6. collation-server=utf8_unicode_ci  
  7. skip-character-set-client-handshake  

3.重启mysql

  1. sudo /etc/init.d/mysql restart 

按照网上其他答案 这时候应该可以了。但是……

what???我发现并没有什么用呀?!!!

好吧,下面 才是我真正想说的 :

首先第一步,修改这些配置文件的时候,你会发现它们是read only 也就只读的。所以我们理所应当的敲下了下面的命令

  1. sudo chmod -R 777 /ect/MySQL/my.cnf 

(我知道这不是个好习惯,但是真的很多人都这是这么做的-/-)

好的,这个时候终于可以修改my.cnf啦

这个时候,有的同学可以顺利的修改 进行下一步啦。但是!!!以我为代表的另一部分同学就倒霉啦,打开 my.cnf 一看…… what?? 基本就是个空的,毛都没有?!好啦好啦 请坐下,这个时候你要看一看下边是不是有个 include****** 对记住后边的文件 去这些文件里做修改就行啦。其实,你直接把需要修改的内容写在 my.cnf中也是可以的,我就这么干了。

终于到了最后一步,重启完 mysql,又试了一下,还是乱码……

问题出在哪呢?请跟我做:

  1. sudo mysql -u root -q 

回车之后,会有个warning /etc/mysql/my.cnf Ignore

意思是my.cnf被忽略了。它被忽略了 那我们的修改肯定没有用了呀。

其实,我们一开始修改了它的读写权限是 777,所有人都可以读写它。系统认为它不安全,才有了这个warning。

所以再我们修改完之后,要再改一下它的权限,比如 644?

好的 现在重启mysql 再实验一下 没问题啦!!!

ps: 查看mysql 字符集编码命令:

  1. sudo mysql -u root -p 

进入mysql 然后输入命令

  1. show variables like ‘%character%’; 

就可以看到了 没截图 就不放了。

啰里啰唆说了一堆,主要是把我遇到的坑记录一下。如果对你有帮助 那我也很开心。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...