Home >Database >Mysql Tutorial >MySQL字符集与乱码问题浅析

MySQL字符集与乱码问题浅析

WBOY
WBOYOriginal
2016-06-07 16:09:231028browse

关于MySQL字符集的种类有很多,对编程有影响的主要是客户端字符集和数据库字符集。 数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和MySQL字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两

关于MySQL字符集的种类有很多,对编程有影响的主要是客户端字符集和数据库字符集。

数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和MySQL字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端MySQL字符集一致即可。

客户端字符集的设置,依据客户端不同方法不同:

1. 使用控制台连接,在my.ini文件中的client项里面设置;

2. 使用ems连接,优先使用ems连接配置的字符集,默认使用my.ini文件中的设置;

3. jdbc连接,在连接串中指定:

<ol class="dp-sql"><li class="alt"><span><span>jdbc:mysql://192.168.3.99:3306/test?useUnicode=</span><span class="keyword">true</span><span>& ;characterEncoding=gbk </span></span></li></ol>

在写入时Mysq会将客户端指定的字符集转换成数据库字符集存入数据文件,读取时又将数据库字符集转换成客户端指定的字符集展示给客户端,把客户端字符集和数据库字符设置一致,显而易见的好处是免掉转换的性能损耗;另外,如果考虑到以后数据库的迁移,将数据库字符集设置为大多数数据库都支持的字符集会省掉很*烦。

几个字符集相关的命令:

1. 查看 MySQL 数据库服务器字符集,数据库字符集和客户端字符集

<ol class="dp-sql"><li class="alt"><span><span>show variables </span><span class="op">like</span><span> </span><span class="string">'%char%'</span><span>; </span></span></li></ol>

◆character_set_client,客户端字符集

◆character_set_database,数据库字符集

◆character_set_server,服务器字符集

2. 查看 MySQL字符集的数据表(table)

<ol class="dp-sql"><li class="alt"><span><span>show </span><span class="keyword">table</span><span> status </span><span class="keyword">from</span><span> tablename </span><span class="op">like</span><span> </span><span class="string">'%countries%'</span><span>;   </span></span></li></ol>

3. 查看 MySQL字符集的 数据列(column)。

<ol class="dp-sql"><li class="alt"><span><span>show </span><span class="keyword">full</span><span> columns </span><span class="keyword">from</span><span> tablename;   </span></span></li></ol>

4. 查看当前安装的 MySQL 所支持的字符集。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn