mysql表单输入数据出现中文乱码解决方法

时间:2023-03-09 08:25:45
mysql表单输入数据出现中文乱码解决方法

MySQL会出现中文乱码的原因在于
1.server本身设定问题,一般来说是latin1

2.建库建表时没有制定编码格式。

解决方法:

1.建库的时候

 CREATE DATABASE test
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';

2.建表的时候

 CREATE TABLE content (
text VARCHAR(100)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

基本就不会出问题了,即建库和建表时都使用相同的编码格式。

1.查看默认编码格式: 

show variables like "%char%"; 

以下是修改后的

mysql> 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.7.13-osx10.11-x86_64/share/charsets/ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.01 sec)

2.查看test数据库的编码格式: