MySQL不能插入中文字符及中文字符乱码问题

简介:

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。
在安装后MySQL之后,它的配置文件不是很给力,不知道你们的是不是,反正我的是!

开始插入中文字符的时候出现如下错误:
ERROR 1366 (HY000): Incorrect string value: '\xBB\xA7' for column 'Tname';
也就是不支持插入中文字符,于是通过网上的学习,在它的配置文件my-default.ini文件中添加了一些东西:
[mysqld]
character-set-server=utf8
datadir = "F:/MySql数据文件/"
#表名不区分大小写(此与编码无关)

[mysql]
default-character-set = utf8

[mysql.server]标签下加上一行
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[client]
default-character-set = utf8

 

通过 show varialbes like 'char%' 查看有关字符集的变量如下:

另外可以过  set names 'charsetname'; 设置字符集

    比如, set names 'gbk';  这条命令会同时修改 character_set_client,character_set_connection,character_set_results, 很好用!

这样MySQL在创建新表格的时候默认的就是utf8的编码方式了!
但是注意的是,当前数据库中已存在的数据仍保留现有的编码方式,
如果需要更改编码格式:
利用下面的指令可以尝试一下:
查看 数据库表中字段的字符集设置 。show create table TableName 或 show full columns from tableName
修改数据库成utf8的. alter database name character set utf8;
修改表默认用utf8的 alter table name character set utf8;
修改字段用utf8的 alter table name modify type_name(变量名字) varchar(任意大小) CHARACTER SET utf8;










本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/4065396.html,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 关系型数据库 MySQL
【MySQL专题】MySQL百万级数据插入效率优化
【MySQL专题】MySQL百万级数据插入效率优化
1436 0
【MySQL专题】MySQL百万级数据插入效率优化
|
关系型数据库 MySQL Linux
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
679 0
Linux下C语言实现MySQL操作——连接、查询、插入与客户端打造
|
关系型数据库 MySQL
mysql中插入语句ON DUPLICATE KEY用法
ON DUPLICATE KEY是mysql中特有用法
645 0
|
关系型数据库 MySQL 数据库
解决MySQL无法输入中文字符的问题
解决MySQL无法输入中文字符的问题
1000 0
|
SQL 数据可视化 关系型数据库
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
最近要导入大量数据到数据库,数据库中有数据列要求唯一的,也就是唯一键,但是我拿到的数据有部分重复,一运行就会出错,如果把重复数据找出来,删除后在导入,太麻烦了,所以想要丝滑导入,并忽略重复数据,有了下面的解决方案: 本次案例使用phpmyadmin进行演示
1783 1
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
|
存储 SQL NoSQL
|
存储 关系型数据库 MySQL
MySQL InnoDB的插入缓冲Insert Buffer
MySQL InnoDB的插入缓冲Insert Buffer
403 0
MySQL InnoDB的插入缓冲Insert Buffer
|
关系型数据库 MySQL
MySQL实战基础知识入门(5):命令行汉字中文输出乱码的解决方案
MySQL实战基础知识入门(5):命令行汉字中文输出乱码的解决方案
292 0
|
SQL 关系型数据库 MySQL
MySQL插入Emoji表情
MySQL插入Emoji表情
MySQL插入Emoji表情
|
关系型数据库 MySQL API
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)

热门文章

最新文章

推荐镜像

更多