为什么要用utf-8
by Yan
在考虑下次大改网站的时候,把编码从gb2312换到utf-8。但问自己为什么,却不是很清楚了。:)想法是utf-8更国际化,但国际化是什么意思呢?更多人用它?在以gb2312为编码的网页里,也可以显示繁体中文,日文,当然还有英文了。:)
我知道的编码选择的一个大问题是,在不同编码的网志间trackback会变成乱码。台湾大部分blogger用的utf-8,用简体的中文blog也有用utf-8的,但不是全部啊。为什么要用utf-8呢,有足够的理由吗?
xdanger说:”地区编码gb2312的好处就是对于搜索引擎比较友好,特别是baidu的网页快照都是gb2312的,Google搜utf-8的效果也不如gb2312。”
你能说服我要或者不要变编码吗?如果要,在windows下,怎么转换呢?请执教。
我一使用UTF-8, 这也是最开始的选择. 关于GB2312转UTF-8在linux下可以实现. 具体使用UTF-8的理由? 呵呵, 还是国际化.
ft,你一个问题也没回答:)国际化是啥意思呢?
我知道的一个笨方法就是用python读入你所有文本,然后转成utf-8输出。呵呵。国际化就是潮流,大家都朝这个方向走。
我来瞎说一下!
UTF-8可以看作是大字符集,它包含了大部分文字的编码。即包括了GB,BIG5和Shift_JS等。
所谓的GB编码中可以显示繁体和日文,只是因为某些(或是大部分)的汉字的编码集重合。因此显示的只是GB编码的汉字和日文。
在某些情况下,GB编码的”日文”在日文系统下(Shift_JS或是EUC_JP)进行转换会出现错误。而使用UTF-8不会。
国际化(I18N)也即本地化。主要是为了使得软件(或是其他)产品更好的适应不同地区的需要,环境,习惯而产生的感念。
to vitamin, 我还要学python, wo bu xiang! hehe。
to keke, 谢谢你的专业说明。我想我被说服了,我要转编码!:)
尤其喜欢这一句:国际化也即本地化。不只是从计算机技术考虑,而且普遍来说都是对的。
I totally agree with Keke, 关于UTF-8的说明.
不过我就完全不赞同所说的国际化即本地化.呵呵
什么是国际化与本地化,
在桑林志上关于UTF-8的讨论, 关于为什么要用UTF-8, Keke给了一些相当专业的意见, 同时提到国际化的问题, Keke提出国际化即是本地化, 对于这个观点我有其他看法. 我不太清楚国际化即本地化的究…
[我手动转了一下owen trackback的字码/mulberry]
这些天刚好在研究这个问题,使用UTF-8的一个好处是其他地区的用户(如香港台湾)无需安装简体中文支持就能正常观看你的文字而不会出现乱码。
“国际化与本地化是一个辨证的关系。国际化是为了解决软件能在各个使用不同语言、不同风俗的国家和地区的编码字符集都能使用的问题,而对计算机程序作出的某些规定。简言之,国际化正是为了解决本地化。另一方面,本地化是国际化向特定本地语言环境的转换,本地化要适应国际化的规定。 ”
中文字符集与国际化:http://www.misslog.com/blog/detail.asp?blog_id6&content_id4628
没想到我这个问题,会引起这么正式的讨论。:)
我为什么觉得,国际化也即本地化,很有意思呢?因为我发现,在让软件被别种语言的用户方便使用时,使用的词是localization。这对我这个非计算机人士来说是新鲜有趣的。
别的领域中的也有类似的提法。比如说,民族的,才是世界的;世界音乐实际上是很民族特色的音乐。
这只是文字上的巧合吗?
另外,localization也是我研究的一个主题,让光localized。:)
Owen也在他的blog上讨论这个问题,我也该在他那儿回复。呵呵。于是想到Blog应该有一个新feature:让comment也能trackback。
也谈国际化
如果中国的blog做的好,发展顺利,可以能够造就上世纪胡适、鲁迅样的具…
太专业了,受不了了..
桑葚,能请教你一个问题吗?
我的wordpress升级到1.2delta后,不能显示链接里的下划线“_”。请问如何解决?谢谢。
还有,您的分类里能看到各项的统计总数,是如何做到的?进入各分类后还能显示最新的回响,这是用了什么hack啊?
corr,我用的是wordpress 1.01版本。没有你(在你网志上)所说的乱码问题啊?1.2还是beta版,可能会有很多问题,建议你还是用稳定版本吧。你可以给我个带”_”的链接的例子吗?
分类显示统计数不是hack,是一个参数设置的问题,我是这样调用的:list_cats(0, ‘All’, ‘ID’,””,””,”1″,””,”1″); 最新回响是个hack,可以去这儿找
http://wiki.wordpress.org/index.php/WPHacks
谢谢桑葚!
链接在编辑栏里是好好的,可是出来的页面里,那两个下划线总是显不出来。
您可以到这里去看看:http://corr.51.net/myblog/index.php?p=40
补充一点:无论我是以文本方式还是以链接代码的方式,始终是这个样子。怪!难道是UTF-8在作怪?
corr,对不起,我编辑了你的comment,因为那个个长长的地址会把页面弄乱。:(
我不知道了。这是个bug? 你去他们的论坛反应反应吧!
呵呵,该道歉的应该是我呀,真是不好意思!
您的英文比我好,能帮我翻译一下这个吗?
This is the page for the Pageviews plug-in for WordPress.
The plugin generates automatically new rows in the db, when a new post is created.
It can count unique, and non unique visits.
You use the plugin like this:
for unique counting,
for normall counting.
You must put the functions within ,,the loop” on your index page, and the rest is done by the plugin.
Also, create the mysql table, and you must use the table name newwp_count!
完了完了,刚才输入的内容里有两行代码没有显示出来,不会有事吧?您在编辑里能看到吗?
代码显示不出来,但在编辑里能看出来。
我翻译一下,意思大概是这样的:
这是一个计数页面浏览量的插件。
它可以统计unique和non unique访问数。前者大概是指,刷新页面时,数值不长的那种,后者是每刷新一次都长的。
使用views(1),计数unique
使用views(2),计数non unique
你必须把函数放在你Index页面的主循环里。
你还得建立一个mysql表格,表格名字必须是newwp_count。
桑葚兄,谢谢你!
前段时间因为比较忙,所以现在才回复,还请见谅。
昨天我在sourceforge.net发现wordpress终于发布了wordpress-1.2-mingus版,不知道算不算是正式版本。
我装了一下,发现很不错,以前在belta版里的问题,在这个版本里再没出现。
对了,1.2版的语言包已经不是1.0.x时候的lang_cn,而是.mo语言包。
我试着翻译了一下,很有意思。可惜好多词对我来说太难理解。
如果您感兴趣,能帮我一下吗?
P.S.这两天您应该探亲回来了吧? 愿您一切如意顺利! 🙂
对了,桑葚兄,还想请教您,关于您页面中“下一页”的函数是如何调用的?请赐教。 🙂
我回来了。还没时间试1.2版本呢!:)
那个“下一页“是用的是posts_nav_link();
不知道如何在wp里显示代码,呵呵。出来乱码了。
我放在最后。那个循环之外
桑葚,您有QQ吗?不如我们在QQ上交流吧,这样也方便一些。我的是18998766。 :)
谁能告诉我yahoo的url里的关键词,我想大概是utf-8吧.怎么把他转化为gb2312
蜀南竹海 你可以把它那段copy下来存在超文本里面用浏览器查看
在window下转化编码,可以使用VS.NET工具。UltraEdit的版本V11.10a+3也可以很好的进行编码转换。
我现在有个问题,转换时,有UTF8带签名和UTF8无签名两种,有什么区别呢?
还有个行尾(行终示符)的问题。window(Doc)是回车符+换行符,UNIX是换行符,MAC是回车符。
我要问:是不是最好后台的数据库中的数据也用UTF8啊?
请问flyby:“在window下转化编码,可以使用VS.NET工具。UltraEdit的版本V11.10a+3也可以很好的进行编码转换。”
请问您说的两个软件能够实现批量修改吗?谢谢!
我是一家跨国公司的员工,开发的系统需要能够支持全球这种语言的信息的输入和显示。比如中文繁简体,日文,朝文,当然还有英语等斯拉夫语言。为了方便不同地域的员工能够方便的访问这些数据,数据库使用utf-8;这个没有问题,但是需要注意的是utf-8格式下,不同的文字的编码长度是不同的有的1byte, 有的2bytes, 有的3bytes。这种情况下,在java中进行字符串处理的时候,可能会造成注如字符串超长等令人迷惑的问题。
这个编码问题我也考虑了很久都弄不明白~~~
31楼说的问题,GB2312里也有啊,GB2312里汉字占两个字节,英语一个字节。想字符固定长度,除非用UTF-16咯。
Java应该提供了对非ASCII码字符串进行处理的函数吧,要不就太麻烦了。
哈哈哈,啥国际化本地化的,都从其它网站死记硬背来的吧?
什么字节不字节的重要吗?我们平时开发时用到了?
按我的经验,用国标,虽然也有繁体,但台湾用的都是大五码,他哪来的国标GB?
所以GB的繁体是假繁体,只限在中国内地使用
如果用BIG的话,那么数据库里面你又是国标又是大五码,容易乱,还不如统一用UTF-8
大家好,看您们各抒己见,小弟长了不少见识.只是我发现一个问题.
按我们的读书习惯.每一段文字应该有两个字的空格.网页怎么显示不对.看都来好像不习惯.
学习了下。。。。顺便问下编码对搜索引擎收录有影响么?
下面是广告:
http://www.igxy.com
另外就是订约工具,有些喜欢用外文版订阅工具的就需要utf-8的支持
今天修改wordpress中文出现乱码,搜到这里,学习了。
UTF-16也不是定長的.UTF-32是定長的(Unix下wchar即int32),不過很費空間.
Windows似乎認為Unicode = UTF-16(wchar=int16),其實很詭異,事實上2字節編不下Unicode.
所謂Unicode並非編碼標準而是一個碼表.UTF才是編碼與傳輸的標準.
目前中國的國家標準是GB18030(強制標準),所有在中國境內出售的文字處理軟件都必須支持.
Linux/Unix通行UTF-8(內外都是),Windows內部是Unicode(UTF-16也許),外部(用戶介面)是各不相同的(比如中文是cp936)
我的感覺,理想的情況下應該都用UTF-8,一是國際標準,二是不浪費空間(相比于UTF-16/32).目前網絡上很多資源早已是UTF-8了.
一个是中国的 一个是通用的 当然用utf了..