这篇博文主要是对鸟哥一篇关于mysql字符集实验的测试验证,为保证字符集设置不被改变,我主要用php 脚本测试;下面是mysql表结构与php的脚本
show create table niaoge_latin1; +---------------+-------------------------------------------------------------- ---------------------------------------+ | Table | Create Table | +---------------+-------------------------------------------------------------- ---------------------------------------+ | niaoge_latin1 | CREATE TABLE `niaoge_latin1` ( `name` char(30) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 | +---------------+-------------------------------------------------------------- ---------------------------------------+ 1 row in set (0.00 sec) show create table niaoge_utf8; +-------------+---------------------------------------------------------------- ---------------------------------+ | Table | Create Table | +-------------+---------------------------------------------------------------- ---------------------------------+ | niaoge_utf8 | CREATE TABLE `niaoge_utf8` ( `name` char(30) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------------+---------------------------------------------------------------- ---------------------------------+ 1 row in set (0.00 sec) $con = mysql_connect("localhost","root","123456"); $dbs = mysql_select_db("t", $con); $charset = "set character_set_connection=latin1,character_set_results=latin1,character_set_client=latin1"; //$charset = "set character_set_connection=utf8,character_set_results=utf8,character_set_client=utf8"; mysql_query($charset,$con); $sql = "insert into niaoge_utf8(name) values('刘 晓 波')"; //$sql = "select * from niaoge_utf8"; $res = mysql_query($sql,$con); //$rest = mysql_fetch_assoc($res); //print_r($rest); $con = mysql_connect("localhost","root","123456"); $dbs = mysql_select_db("t", $con); //$charset = "set character_set_connection=latin1,character_set_results=latin1,character_set_client=latin1"; $charset = "set character_set_connection=utf8,character_set_results=utf8,character_set_client=utf8"; mysql_query($charset,$con); //$sql = "insert into niaoge_utf8(name) values('刘 晓 波')"; $sql = "select * from niaoge_utf8"; $res = mysql_query($sql,$con); $rest = mysql_fetch_assoc($res); print_r($rest); Array ( [name] => 氓藛藴忙鈩⑩€溍β陈� ) <?php $con = mysql_connect("localhost","root","123456"); $dbs = mysql_select_db("t", $con); //$charset = "set character_set_connection=latin1,character_set_results=latin1,character_set_client=latin1"; $charset = "set character_set_connection=utf8,character_set_results=utf8,character_set_client=utf8"; mysql_query($charset,$con); $sql = "insert into niaoge_latin1(name) values('***')"; //$sql = "select * from niaoge_latin1"; $res = mysql_query($sql,$con); //$rest = mysql_fetch_assoc($res); //print_r($rest); <?php $con = mysql_connect("localhost","root","123456"); $dbs = mysql_select_db("t", $con);
下面附上鸟哥的解释
相关推荐
MySQL作为全球广泛使用的开源关系型数据库管理系统之一,其字符集的设置直接影响到数据的编码方式,进而影响到数据的正确性与国际化支持。本文将深入探讨如何设置MySQL的字符集,以及解决因字符集配置不当导致的乱码...
这将显示当前 MySQL 数据库的字符集信息,包括字符集的名称、客户端字符集、连接字符集和服务器字符集。 修改 MySQL 字符集 修改 MySQL 字符集需要修改 MySQL 配置文件 my.cnf。首先,需要找到 MySQL 配置文件的...
### MySQL字符集转换详解 #### 一、引言 在MySQL数据库管理中,字符集的正确设置至关重要。它直接影响到数据的存储与检索效果,尤其是对于包含多种语言文本的应用场景而言。本文将围绕“MySQL字符集转换”这一主题...
MySQL字符集设置是数据库管理中的一个重要环节,尤其是在处理多语言数据或者有特殊字符需求的应用中。字符集决定了数据库、表以及字段如何存储和显示字符,影响到数据的正确性及兼容性。以下将详细讲解MySQL字符集的...
查看mysql字符集MySQL 乱码的根源是的 MySQL 字符
接下来,需要找到与字符集相关的设置,并将其从`latin1`更改为`utf8`。这通常涉及以下几项配置: - **`character-set-server`**:服务器默认字符集。 - **`collation-server`**:服务器默认排序规则。 - **`init-...
2. **更改表字符集**:如果发现表的字符集与系统默认不一致,可以使用`ALTER TABLE 表名 CONVERT TO CHARACTER SET GBK;`命令来更新表的字符集。 #### 四、注意事项 - 在进行上述操作时,确保已经备份了重要的数据...
### MySQL字符集与校对集详解 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,在处理各种语言环境下的数据时,字符集和校对集的正确配置至关重要。本文旨在深入探讨MySQL中的字符集(Character ...
### MySQL字符集与乱码问题解析 在MySQL数据库管理中,字符集的配置与使用是十分重要的环节之一,尤其在处理多语言环境的数据时更是如此。如果字符集配置不当,很容易导致数据插入、查询过程中出现乱码问题。本文将...
在 MySQL 中,有多个与字符集相关的系统变量,这些变量决定了数据在客户端和服务端之间的传输以及存储方式: 1. **`character_set_client`**:表示客户端向服务器发送 SQL 命令时所使用的字符集。 2. **`character_...
#### 一、理解MySQL字符集与校对规则 **1. 字符集(Character Set)**:字符集是数据库用来存储和处理文本数据的一组字符的集合,包括字母、数字、符号等。不同的字符集支持不同语言的字符,如GBK支持中文简体字符...
为了支持多语言或特定字符集的需求,如中文、日文等,配置MySQL字符集至关重要。UTF-8字符集是一种非常常见且兼容性极强的编码方式,它可以表示世界上几乎所有的文字。本教程将详细介绍如何在Linux环境下设置MySQL...
MySQL的字符集实现涉及到字符转换函数、校对规则的实现以及与存储引擎的交互。源代码中的相关部分可能位于`mysql/source/client`、`mysql/source/include`和`mysql/source/strings`等目录下。 “工具”标签可能是指...
本文将详细探讨“MySQL_MySQL字符集互转”这一主题,以及如何利用工具如"MSSQL2MySQLSync"进行数据库之间的转换与同步。 MySQL是一种广泛使用的开源关系型数据库管理系统,其支持多种字符集,包括UTF-8、GBK等。...
Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...
1. 数据乱码:当输入或读取的数据与字符集不匹配时,可能出现乱码。例如,使用GBK编码的中文数据存储在UTF8字符集的表中,可能会导致乱码。 2. 存储空间:不同的字符集占用的存储空间不同。UTF8通常比GBK更节省空间...
### 如何修改MySQL字符集 在安装MySQL之后,默认情况下,MySQL服务器使用的字符集可能是`latin1`。然而,在实际的应用场景中,用户可能需要将字符集更改为其他字符集(例如`utf8`),以便更好地支持多语言环境下的...
MySQL字符集问题一直以来都是数据库管理中的一个痛点,尤其是在处理多语言数据或者进行数据迁移时,不恰当的字符集设置可能导致乱码、无法存储特殊字符甚至数据丢失。这篇文档将深入探讨MySQL字符集的工作原理,常见...
《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...
MySQL中有多个与字符集相关的系统变量,这些变量影响着数据的处理过程: 1. `character_set_client`: 定义了客户端发送给服务器的数据的字符集。 2. `character_set_connection`: 控制在连接中传输的SQL语句和结果...