Linux环境中MySQL中文编码问题

本文只是记录了一下我的网站在Linux环境部署过程中发生的MySQL中文编码问题。
由其他问题导致的MySQL数据存取错误,此方法不一定能解决。
在linux安装好MySQL-server以后:
命令行 mysql -p密码进入MySQL的shell界面。
在MySQL shell界面,输入show variables like ‘character_set%’;查看默认字符集
返回:
+—————————-+———————+
|Variable_name                    |Value            |
+—————————-+———————+
| character_set_client           | latin1           |
| character_set_connection  | latin1           |
| character_set_database     | latin1           |
| character_set_filesystem    | binary          |
| character_set_results          | latin1           |
| character_set_server           | latin1           |
| character_set_system          | utf8             |
| character_sets_dir              | /usr/share/   |
                                            mysql/charsets/ |
+————————–+————————–+
发现 character_set_database 的值是latin1,而存储中文我们需要编码格式utf-8。

分两种情况讨论:
1、如果数据库和表已经建好了:
修改database:
alter databases 数据库名 chrarcter set utf8; 将数据库默认编码设为utf-8
修改表:
alter table 表名 chrarcter set utf8; 将表默认编码设为utf-8
修改字段:
alter table 表名 change 字段名 字段名 类型 character set utf8;

2、没建好:
在创建数据库时,输入 create database 数据库名 character set utf8; 直接创建默认utf-8编码的database

现在往数据库插入中文数据试试,是不是不报错了呢?

你可能感兴趣的:(Linux,MySQL,linux,mysql)