现在的位置: 首页 > 综合 > 正文

c 和php mysql 数据库 中文 乱码

2014年02月03日 ⁄ 综合 ⁄ 共 1041字 ⁄ 字号 评论关闭

无论是c或者是php操作mysql数据库。都会涉及到编码格式的问题,尤其是创建数据库过程中

编码格式的选择很多,如果选择不合适,在程序、数据库、网页中就会出现中文乱码的情况。

下面是利用phpmyadmin创建数据库,演示创建过程中编码的选择,最后说明一下c和php操作过程的编码设置。

索引:phpMyAdmin 数据库 创建 乱码 汉字 递增 wampsever php apache MySQL

例子:

注意上图中MySQL默认字符集,将下图中MySQL连接校对设为与上图中字符集一致,都为utf8

 

如上图,新建一个数据库,将整理设为utf8_general_ci。

上图,在数据库中新建一个表。 表结构按下图设定。

注意上图中的设定。 设定完成后保存,系统提示数据库表创建完成,如下图。

下图中的ID字段的“额外”一栏出现auto_increment,表示该字段可自动增量填充,无需人工输入数据。

插入几行记录。输入时ID字段不需要输入,只需输入NAME字段内容即可。

点击浏览,见下图,没有乱码。

 

数据库创建完成。

 

知识点:出现的几个概念。

1、MySQL(数据库)字符集。服务器中设定。

2、MySQL连接校对。phpMyAdmin中设定(下同),如与1不一致,将导致数据损坏,显示乱码。并且,决定了数据库名称所使用的字符集。选utf8,可用汉字作为数据库名。

3、新建数据库的整理(字符集)。决定了表名称的字符集。选utf8,可用汉字作为表名。

4、新建表的整理(字符集)。决定了字段所用的字符集,选utf8可用汉字作为字段名。

5、文本(字符串)型字段的整理(字符集)。决定了该字段内容的字符集。选uft8,可在数据项中输入汉字。

6、在PHP中,添加代码mysql_query("set names 'gbk'")或者mysql_query("set names 'gb2312'"),可保证网页显示不出现乱码。(代码大小写都行)

强烈建议将上述所有字符集全部设定为:utf8_general_ci,以保证汉字的正常输入、保存和显示。

总结:要做到在phpMyAdmin中不出现乱码,至少应保证MySQL连接校对与MySQL数据库字符集要一致,强烈推荐使用utf8。

 

 

使用c连接mysql后,使用mysql_set_character_set(&conn,"utf8"); //设置操作数据库过程的编码格式

使用php连接mysql后,使用mysql_query("SET NAMES 'utf8' "); //设置操作数据库的编码格式

 

抱歉!评论已关闭.