今日调试某网站,因数据库默认字符编码不是UTF-8的,网站多处出现乱码的现象。从网上找到很多方法,均不能有效解决问题。
一、Windows系统下面
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭(mysqld中增加如果出错,可以试 character-set-server=utf8)
4、启动MySQL服务
以上方法不行。
使用show variables like '%char%';命令返回:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
其中发现character_set_database 编码一追仍没有改变。
使用 SET character_set_database = utf8 ; 命令仍不能解决问题。
于是尝试使用phpmyadmin 进入数据库中后选择 操作—— 整理——utf8_uncode_ci ——执行。问题 解决