『MySql 』编码设置
MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。
查看系统的字符集和排序方式的设定可以通过下面的两条命令或mysql> status 。
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
上面列出的值就是系统的默认值。(很奇怪系统怎么默认是latin1的瑞典语排序方式)...
当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:
1. SET NAMES 'utf8';
它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
2. 创建数据库
mysql> create database name character set utf8;
3. 创建表
CREATE TABLE `type` (
`id` int(10) unsigned NOT NULL auto_increment,
`flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N',
`flag_type` int(5) NOT NULL default '0',
`type_name` varchar(50) character set utf8 NOT NULL default '',
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
4. 修改数据库成utf8的.
mysql> alter database name character set utf8;
5. 修改表默认用utf8.
mysql> alter table type character set utf8;
6. 修改字段用utf8
mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8;
参考:http://xyfxh.spaces.live.com/Blog/cns!4EFEB1E6EFF8C824!151.entry
分享到:
相关推荐
mysql 编码设置命令,需要的朋友可以参考下。
MySQL的中文编码问题,是在Java Web开发中经常遇到的问题,本文件给出了一种解决方案
全国省市区编码mysql全国省市区编码mysql全国省市区编码mysql全国省市区编码mysql
mysql编码问题
mysql插入数据库编码解决mysql插入数据库编码解决
MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。
linux下安装mysql,utf-8编码处理,以及远程连接
ySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,本方法修改改文件。
mysql编码规则,表的命名规范
Linux 下 设置mysql数据库为utf8编码的方法
中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的城市编码,三级城市编码,数据库脚本 ,中国城市编码 sql mysql 数据库 ,中国所有的...
mysql5.7配置文件设置UTF8编码。 使用此文件直接替换MySQL5.7原配置文件即可生效。
MySQL 中修改编码配置文件全面配置,适合初学者,一看就会!!
Mysql数据库乱码 问题彻底解决 针对JAVA
高德api 高德地址编码表 mysql版全国省、市、区行政区域mysql信息表,包含:区域名称、城市编码、邮政编码、经纬度、名称拼音,sql文件,mysql导入可用;
4.城乡划分代码说明:mysql数据库,树结构存储。包括:编码;名称;全称;所属省,市,区县,街道;拼音首字母;城市类型(直辖市,省会);同级下排序;深度;城乡分类代码及经纬度。 5.四级地址:...
mysql批量修改字符编码,可以把整个数据库的所有表的charset统一设置为utf-8的。
mysql中代码集修改的集中方式。开机后不会复原,UTF-8
163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句: