我的mysql数据库昨天的所有信息都还好的呢,什么操作也没干。今天汉字就成乱码了,这是什么原因阿?并且字符集高手们快帮帮忙吧。网上说的改正的信息我也改过了阿。
[mysqld]
#设定默认字符集为gbk
default-character-set=gbk
#设定连接mysql数据库时使用gbk,以让mysql数据库为gbk运行
init_connect='SET NAMES gbk'
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
lower_case_table_names=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
#终端字符集,告诉Server客户端提交的SQL语句的编码格式
default-character-set=gbk
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
[mysqld]
#设定默认字符集为gbk
default-character-set=gbk
#设定连接mysql数据库时使用gbk,以让mysql数据库为gbk运行
init_connect='SET NAMES gbk'
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
lower_case_table_names=1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
#终端字符集,告诉Server客户端提交的SQL语句的编码格式
default-character-set=gbk
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
解决方案 »
- mysql 两个大数据量表连接更新数据问题
- MySQL 的Comment命令行下面在哪里看?我用MySql Administrator看是乱码
- EMS SQL Manager 2005 Lite for MySQL 问题
- phpmyadmin显示中文数据乱码!
- mysql 语句,select 1+2+3+4 as abc from table1 where abc>0
- sql 数据库
- 批量修改MYSQL记录问题
- 求救 mysql 的客户端连不上 os linux
- 如何导出指定编码格式的数据
- Navicat Premium 12 无法启动,怎么办?
- postgressSQL模糊查询的问题
- 关于mysql时间类型是怎么储存的问题?
mysql_query('SET @@character_set_results = "'.$program_char.'"',$conn); 显示中文字也是乱码。
$conn = mysql_connect("127.0.0.1", "test", "0000") or
die("Could not connect: " . mysql_error());$program_char = "utf8";mysql_query('SET @@character_set_results = "'.$program_char.'"',$conn);
mysql_select_db("test");
$charset = mysql_client_encoding($conn);printf ("current character set is %s \n", $charset);