当前位置:首页 > 系统运维 > 正文内容

MySql 编码设置实际应用代码示例

a8116255316年前 (2010-05-17)系统运维9

以下的文章主要讲述的是MySql 编码设置的实际操作步骤,我们大家都知道MySQL 4.1的实际应用字符集所支持(Character Set Support)主要有2个方面:即,字符集(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连接层上。MySql 编码设置解决 *** 是在发送查询前执行一下下面这句:

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;  

上面说了这么多内容,是关于对MySql 编码设置的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITjs,学习最新Mysql技术。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/20306.html

分享给朋友:

“MySql 编码设置实际应用代码示例” 的相关文章

windows 7/8.1正在启动windows时间长的解决方法

windows 7/8.1正在启动windows时间长的解决方法

正在启动windows时间长怎么办 小编带来了Windows 7/8.1正在启动windows时间长解决方法,假如有朋友在安装完Windows系统之后一直停留在“正在启动windows”的话,不妨试一试下文的方法哦~ 原因:Windows 7/8.1不完全支持UEFI,需要CSM(Comp...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

Windows7播放电影视频蓝屏无论什么格式都会蓝屏

Windows7播放电影视频蓝屏无论什么格式都会蓝屏

问:我在Windows 7 Ultimate X64下播放电影视频时,不管什么格式都会蓝屏,错误代码“0x00000124”。换解码器、播放器不行,换驱动、内存也不管用。在不同的电脑上也试过,仍然蓝屏。请问是哪里的问题,如何解决 答:64位 Windows 7直接使用PotPlayer x64就...