这是整理的一些东西,仅供参考。相关资料,可以参阅MySQL 5.1中文参考手册
1, 可以通过 status 或 \s查看数据库状态
2,MySQL服务器能够支持多种字符集。可以使用SHOW CHARACTER SET语句列出可用的字符集:
3,查看系统默认字符集
要是编码不正确可以根据自己需要在 my.ini 文件中修改默认编码
修改了默认字符集,需要重启MySQL服务 (可能需要重新创建数据库和表)
net stop mysql
net start mysql
然后重新测试web应用,看是否正常,若果还不正常,则考虑重新创建数据库
drop database xxxName –删除数据库
create database xxxName –创建数据库
创建好了数据库之后,可以从 mysql\data\xxxName\db.opt 文件中,查看字符编码 如下:
default-character-set=utf8
default-collation=utf8_general_ci
注意:不能通过dos窗口来检验,因为dos窗口的编码是GBK,如果我们想要的编码是utf8,则通过dos窗口是不行,插入时会报错:Incorrect string value: '\xA9p\xC1\xF7\xB6\xAF...' for column 'pdetails' at row 1,所以可以通过web应用测试看看来确定是否正常.
需要注意:启动 mysql时,如果没指定指定一个默认的的字符集,这个值继承自配置文件中的;此时 character_set_server 被设定为这个默认的字符集;
当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为 character_set_server;
当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
当在表内设置一列时,除非明确指定,否则此列缺省的字符集就是表默认的字符集。
这样问题就随之而来了,假如一数据库是gbk编码。如果访问数据库时没指定其的字符集是gbk。那么这个值将继承系统的latin1,这样就做成mysql中文乱码。
创建新的数据库时,指定数据库的编码
如:create database address character set utf8;
建表时指定编码,如下
CREATE TABLE `book` (
`ID` int(4) NOT NULL auto_increment,
`NAME` varchar(25) default NULL,
`PHONE` varchar(10) default NULL,
`ADDRESS` varchar(50) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
当确认表的编码和数据库编码一致时,建表时可以不指定编码,默认以库的编码一致。同理,列也一样。
另外可以在列定义时可以指定编码,如下:(一般不会这样,而是采用默认的,即和表的编码一致)
`name` VARCHAR(45) CHARACTER SET gbk
- 大小: 9.7 KB
- 大小: 25.5 KB
- 大小: 5.8 KB
- 大小: 3.1 KB
- 大小: 20 KB
分享到:
相关推荐
查看mysql字符集MySQL 乱码的根源是的 MySQL 字符
设置mysql字符集 mysql 乱码
Mysql数据库乱码 问题彻底解决 针对JAVA
MYSQL字符集乱码的解决 在命令行下,以及从网页取出来就不会出现乱码
MySQL字符编码及乱码解决方案 · 使用多种字符集来存储字符串 · 使用多种校对规则来比较字符串 · 在同一台服务器, 同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串 · 允许定义任何级别...
设定mysql字符集解决终端乱码设定mysql字符集解决终端乱码
解决字符集通讯设置不匹配的方法: (修改默认的character_set_client,character_set_connection,character_set_result)
详细介绍了字符编码的渊源,解释了MySQL中字符编码
本文给大家介绍微信开发过程中mysql字符编码问题,本文介绍的非常详细,感兴趣的朋友一起来学习吧
163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:
docker mysql 字符集设置 使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=...
mysql批量修改字符编码,可以把整个数据库的所有表的charset统一设置为utf-8的。
MySQL数据库乱码-Linux下乱码问题一 乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。 mysql在linux下乱码问题 一、操作 mysql默认字符集是latin1,但是我们大部分程序使用的...
可以帮你解决MYSQL中的乱码问题6666666666666666
精通MySQL字符集与校对集,再也不会为乱码而心烦意乱了
教程:修改mysql字符编码成为UTF8
查看MySQL字符集的命令是“show variables like '%char%';”。 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8。 以下是修改的方法: 1.打开安装目录,默认在“C:Program...
查看MySQL字符集的命令是“show variables like ‘%char%’;”。 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8。 以下是修改的方法: 1.打开安装目录,默认在“C:\Program Files\...
有关本人在进行mysql+SSH框架开发遇到的中文字符乱码问题的解决