您的位置:首页 > 数据库 > MySQL

解决MySQL数据库无法插入中文或插入中文乱码问题

2020-02-12 00:26 1591 查看

1、Windows平台

1.1、创建数据库时,指定数据库编码为“gbk”;

1.2、建表时指定数据表编码为 “gbk”,或在表建立之后通过"ALTER TABLE 表名 CHARACTER SET gbk;"修改表的编码为gbk;
1.3、在程序的连接字符串中指定编码方式为gbk,如"server=127.0.0.1;User Id=root;Password=csct;Persist Security Info=True;database=csct;charset=gbk";

 

2、Linux平台

2.1、修改mysql的缺省编码
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加
### 默认字符集为utf8
default-character-set=utf8
  
在找到[mysqld] 添加
### 默认字符集为utf8
default-storage-engine=INNODB  
character-set-server=utf8  
collation-server=utf8_general_ci 

##重新启动mysql

2.2、 修改数据库的缺省编码: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表字段的编码:ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

2.3.、终极编码解决方案: 
mysqldump出xxx.sql库; 
vi编辑xxx.sql库; 采用“:g/latin1/s//utf8/g”对所有latin1编码替换成utf8; 
drop xxx后,重新创建xxx库,再ALTER DATBASE,设置缺省编码;
use xxx; source xxx.sql

  • 点赞
  • 收藏
  • 分享
  • 文章举报
蓝天easy 发布了3 篇原创文章 · 获赞 0 · 访问量 8337 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: