记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

linux中mysql设置character_set_server_linux造成网页乱码的解决方法

linux中mysql设置character_set_server_linux造成网页乱码的解决方法

问题:在phpmyadmin中看到数据完全正常,但是网页中显示就会出现乱,数据编码utf8_general_ci没有任何问题。
发现问题:在phpmyadmin的SQL查询中,输入以下查询
XML/HTML代码
  1. SHOW VARIABLES LIKE 'character_set_%';
此时,发现character_set_server=latin1 ,我们需要把它改为utf-8即可。
 
修改方法:
 1、登录mysql,查看mysql默认的编码格式
XML/HTML代码
  1. show variables like ‘character%’;
如果现实-bash: show: command not found 说明没有登录mysql数据库,需要进行登录
2、修改my.cnf 文件
目录为/etc/my.cnf
如果系统中没有my.cnf文件、则需要创建此文件,具体步骤请看3,如果存在,直接跳过步骤3,直接进入步骤4
3、查找.cnf结尾的文件
命令find / -iname *.cnf -print
将上面搜索结果集中/usr/share/mysql目录下任意的一个文件复制到/etc/目录下
命令:cp /usr/share/mysql/my-large.cnf   /etc/my.cnf
4、编辑my.cnf文件
命令:vi /etc/my.cnf
XML/HTML代码
  1. 在[client ]下面加入
  2. default-character-set=utf8
  3. 在[ mysqld ] 下面加
  4. character_set_server=utf8
  5. init_connect=’SET NAMES utf8′(或者是SET NAMES ‘utf8′)
5、重启mysql
service mysql restart
 
下文附上我自己的处理情况供参考
我的问题:只有一项未改成utf8 (character_set_server=latinl)
操作:
1、命令:vi /etc/my.cnf
2、具体修改参数
XML/HTML代码
  1. 在[ mysqld ] 下面加
  2. character_set_server=utf8
3、重启数据库服务
4、show variables like ‘character%’; (再查看就已经该过来了,测试发现乱码问题已解决)
参考1    参考2  如果win系统或者其他的情况可以自己修改配置文件。
附:Mysql问题报错:1273 - Unknown collation: 'utf8mb4_0900_ai_ci
1.mysql环境描述:
本机下载mysql版本:5.7.24
2.问题描述:
创建表时,使用“DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci”,出现报错“1273 - Unknown collation: 'utf8mb4_0900_ai_ci”。
sql指令报错
3.原因分析:
由于mysql中高版本的数据库导入低版本的mysql数据库产生的报错
使用的是低版本5.7.24mysql数据库,但是导入的是高版本8.0版本数据库。
4.解决方法:
方法1:
将语句“DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;”
替换成“DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;”
方法2:
将mysql数据库更新成高版本(8.0版本)。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):