Ubuntu中 MySQL 的中文编码问题
程序员文章站
2022-10-09 20:23:34
使用Ubuntu在安装好MySQL数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报Incorrect string value错误。 c实现编码设置的两种方法: (1)动态设置 创建数据库: CREATE DATABASE PyDB CHARACTER SET 'utf ......
使用ubuntu在安装好mysql数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报incorrect string value错误。
c实现编码设置的两种方法:
(1)动态设置
创建数据库:
create database pydb
character set 'utf8'
collate 'utf8_general_ci';
选择此数据库:
use pydb;
创建表:
create table pytable (
username varchar(10),
useraddr varchar(10)
)engine=innodb default charset=utf8;
(2)改变默认编码
在mysql下,先执行命令:show variables like '%char%';
查看数据库默认编码是latin1。
以root身份更改mysql的配置文件
在/etc/my.cnf 或 /etc/mysql/my.cnf 添加以下指令并保存:
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = innodb
character-set-server = utf8
collation-server = utf8_general_ci
然后重启mysql:service mysql restart
再次查看:show variables like '%char%';
可以看到编码已经是utf8。