LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 846|回复: 2

对于mysql储存字符集的疑问

[复制链接]
发表于 2004-11-13 12:39:40 | 显示全部楼层 |阅读模式
众所周知,mysql初始character_set为latin1,他的字符集应该为iso8859-1,然而,我们总以这个标准来读出写入中文,没有出过什么差错(全文搜索功能不知道会不会有问题)。
问题一:若我将character_set设为gb2312,会有什么样的变化效果?是不是mysql会认为一个汉字是独立的,而不是2个怪文字的结合体(可能我在表达上有点问题=.=")?那么在磁盘上的表达形式会有不同么?
问题二:若我们都能用iso8859-1作为底层转码标准,那我就开始怀疑utf8的实际意义了,既然标准gb2312论坛可以使用iso8859-1的mysql,那么我想其他字符集的论坛也可以使用iso8859-1的mysql配置,只不过告诉一下http header字符集是啥就可以了,web browser直接按照这个字符集进行显示就能顺利输出,这就是我们现在使用的基本方案。

以上问题由于本人概念不清,望指教
发表于 2004-11-13 22:40:59 | 显示全部楼层
个人理解,不准的,讨论一下。

字符集决定的是如何编码存储文字,当读出后怎么应用则是你的程序的问题,如你所说可以告诉http服务按照gb2312来解释从mysql中读到的数据,而存放时也是将gb2312编码的文字存放进mysql。只是mysql不作gb2312理解罢了。

utf8的实际意义在于适应于所有文字,将其编码为统一的编码体系。不存在冲突,从而可以实现多种文字共存。
 楼主| 发表于 2004-11-14 18:35:28 | 显示全部楼层
嗯,符合事实,mysql的设置只是让mysql对字符进行理解,与存储无关,我相信应该是这样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表