喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

上一主题 下一主题
     
标题: [问题] 请问utf8_unicode_ci 和 gb2312_chinese_ci 是什么意思?  
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 660
帖子 678
金钱 660 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 离线
请问utf8_unicode_ci 和 gb2312_chinese_ci 是什么意思?

如果用MYSQL5,PHP5,PHPMYADMIN10 这些版本组合的时候

当我们整理数据表的时候,就会发现,多了这些选项,

utf8_unicode_ci  和 gb2312_chinese_ci 还有其它的,一大堆让我们去选择

并且每个字段的整理列里面都会带着这些标志

请问这些是什么意思呢??


数据的编码处理,分为三个方面
一,网页编码

二,数据库存放编码

三,PHP操作数据库所设定的编码格式


那么,这三者又是什么关系呢?


但有一点是明确的,如果我们在网页里面使用UTF-8,编码的时候,   那么我们的数据库操作语句必须加上这一句:  mysql_query('SET NAMES UTF8');


如果我们在网页里面使用gb2312,编码的时候,   那么我们的数据库操作语句必须加上这一句:  mysql_query('SET NAMES GBK');

如果不这样加的时候,数据就会乱码.

如果是这一种一一对应的关系和规则,也好理解,但这个时候又多出出字段的整理问题,

我曾经做过试验,无论字段是utf8_unicode_ci  还是 gb2312_chinese_ci 都能正常使用,基本和网页编码没有关系.但为什么又要加这些呢?

而且当我们写数据恢复程序的时候,也就是读取外部TXT文件往数据表里面插入数据的时候, 如果字段的utf8_unicode_ci  还是 gb2312_chinese_ci 格式和数据表的这两种方式的整不对的话,数据就会全部乱码,看来这个还是有一定关系的.

那这三者到底是什么关系??我们又如果去控制和把握呢?谁能明确解释一下这三者的关系.

看了太多论坛上关于数据乱码的贴子了,基本上全部是跟搞不清这三者的关系有关,如果将这些基本的概念搞清楚了,我相信,在设计数据结构以及整个网站架构的时候应该不会再被乱码问题所困扰.

期待高手进行明确的指导,谢谢!




今霄酒醒何处?杨柳岸,晓风残月。
2007-11-2 10:18 AM#1
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
osdn
禁止发言

初级会员



UID 66985
精华 0
积分 -37
帖子 353
金钱 -37 喜悦币
威望 0
人脉 0
阅读权限 0
注册 2005-9-28
来自 红色主机
状态 离线
[推荐阅读] 惨了
*** 作者被禁止或删除 内容自动屏蔽 ***
2007-11-2 11:13 AM#2
查看资料  访问主页  发短消息  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 660
帖子 678
金钱 660 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 离线
[推荐阅读] 这样的情况下,分页程序该如何写?
不错,这些知识应该是搞空间的要懂的,因为天天要转数据什么的

我怎么没想到去问问专业空间商呢?哈哈

楼上这位搞空间看来也挺专业的,有空买个试试.




今霄酒醒何处?杨柳岸,晓风残月。
2007-11-2 11:36 AM#3
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4934
帖子 1700
金钱 4924 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] 招聘phper-北京地区
创建表的时候设定默认编码

要保持编码的统一

虽然latin也可以用




在场外支持奥运.....
2007-11-3 12:13 PM#4
查看资料  访问主页  发短消息  QQ  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 660
帖子 678
金钱 660 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 离线
[推荐阅读] ixafei encoder扩展函数加密流程解读(ben)


QUOTE:
原帖由 剑枫 于 2007-11-3 12:13 PM 发表
创建表的时候设定默认编码

要保持编码的统一

虽然latin也可以用
非常感谢这位哥们

如果我创建数据库的时候,选择utf8_unicode_ci ,但我在创建数据表的时候选择gb2312_chinese_ci


或者是我创建数据库选择gb2312_chinese_ci  ,但创建数据表时选择utf8_unicode_ci

这个时候会有什么区别呢




今霄酒醒何处?杨柳岸,晓风残月。
2007-11-3 12:26 PM#5
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4934
帖子 1700
金钱 4924 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] postgresql 读出为乱码


QUOTE:
原帖由 yanglei1979 于 2007-11-3 12:26 PM 发表


非常感谢这位哥们

如果我创建数据库的时候,选择utf8_unicode_ci ,但我在创建数据表的时候选择gb2312_chinese_ci


或者是我创建数据库选择gb2312_chinese_ci  ,但创建数据表时选择utf8_unicode_ci

...
不影响的,你可以设定数据库默认编码为latin、单个表编码为gb、具体某个字段编码为utf8

编码即使和前台不一致也可以使用,有的时候表单提交来的数据可能无法插入,也有可能导入数据失败,严重的是导出sql备份的时候如果是不支持汉字的编码,那就乱码了




在场外支持奥运.....
2007-11-3 10:57 PM#6
查看资料  访问主页  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.054397 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP