趣百科

详解mysql中文乱码的问题:[6]实战案例一

编辑:Simone 2024-11-21 12:03:11 550 阅读

详解mysql中文乱码的问题:[6]实战案例一

由于我们使用的数据库管理软件都是国外公司提供的,部分小型的数据库管理软件对中文的支持不太好,经常会遇到中文乱码的问题,让程序员非常苦恼。

本文主要讲解mysql数据库中文乱码的问题。

前面几篇文章主要讲解了MySql产生乱码的原因和解决办法,都是以理论为主,本文将以一个小案例,给大家介绍一下如何在实战中避免中文乱码。

首先,打开phpMyAdmin管理页面,在数据库管理器选项中查看“数据库服务器”的数据库服务器字符集是什么,我的服务器默认的字符集是UTF-8 Unicode (utf8)。其实,服务器字符集对我们编程影响不大,只要在创建数据库的时候设置好数据库的字符集,就不会出现中文乱码的问题了。

然后,我们开始创建数据库,数据库名字是demosql,数据库的字符集比较纠结。通过下图,大家看到字符集有很多,如何选择合适的字符集对很多人来说都是一个难题。

MySQL的字符集在phpMyAdmin中给出了详细的说明,但是看完了我仍然是一头雾水。所以,我查阅了大量的资料,现在给大家小结一下。

对于中文而言,我们经常使用的字符集有两大类:GBK和UTF-8。如果大家下载php的网站代码,就会发现很多公司都提供两种代码包,一个是GBK的,另外一个是UTF8的。如果你的网站主要是针对国内,建议尽量选GBK,如果以国外如日、韩等为主,则选UTF-8,UTF-8占用数据库是GBK的1.5倍。我的网站因为要放在百度开发者平台之中,百度云数据库默认的字符集编码是UTF-8,所以我选用的是UTF-8。

UTF-8有很多,如何选择呢?常用的有两个utf8_general_ci和utf8_unicode_ci。它们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为general更快。如果你对德语和法语的对比有更高的要求,才使用unicode,它比general更准确一些。

因为我的网站没有德语和法语,所以我的数据库选择的字符集为utf8_general_ci。

数据库创建好后,我们就可以添加数据表了。我的数据表名为teacher,字段两个

在数据表中,“整理”默认情况下为空,如果不更改设置,数据表中的数据将继承数据库的字符集utf8_general_ci,否则,以数据表的字符集为准。我这里选择默认值。

数据表创建成功后,我们插入数据,发现中文可以正常显示,没有出现乱码的问题。至此,我们的工作成功了一半!加油!

在编程的过程中,我使用Macromedia Dreamweaver 8进行编码。在“文件”---“新建”中,选择php,然后点击“首先参数”

默认编码选择UTF-8

然后,在创建的代码中,就会有

从而保证页面的标题等内容出现中文后不会是乱码

在php的代码中增加三行文字

mysql_query("SET NAMES UTF8");

mysql_query("set character_set_client=utf8");

mysql_query("set character_set_results=utf8");

这样,就能保证查询出来的中文不出现乱码了

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/life/71467.html

相关推荐