关于乱码的问题有无数人提过,也有无数人问过相关的问题。我也曾经迷茫过,今天我明白了,简单也几句,以警后者。
首先查看mysql数据库中文乱码吗?
要是乱,首先配置/etc/my.cnf文件,把里面的mysqld和client字符集都改写成utf-8
[client]
#password = your_password
port = 3305 #3306
socket = /tmp/mysql.sock
default-character-set=utf8
[mysqld]
port = 3305 #3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
default-character-set=utf8
然后查看数据库show variables like '%char%';查看字符集
+--------------------------+------------------------------------------------------------+
| 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/local/mysql-5.1.34-linux-i686-glibc23/share/charsets/ |
+--------------------------+------------------------------------------------------------+
如果不是那就按照SET character_set_client = utf-8 ;
的方式更改字符集就好了
都看好了,这样,然后重启mysql
然后那就是php乱码了,这个乱码最好办,把php文件编码为utf8
这样就可以了,要是还是乱码,看看你的浏览器编码是不是utf8的了,就到这里吧,虽然不能解决所有的关于乱码的问题,但是应该可以解决一部分了,希望对你能有用。