Chinaunix首页 | 论坛 | 博客
  • 博客访问: 540613
  • 博文数量: 166
  • 博客积分: 4038
  • 博客等级: 上校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:29
文章分类

全部博文(166)

文章存档

2010年(12)

2009年(126)

2008年(28)

分类: Mysql/postgreSQL

2009-03-26 17:42:19

-- 查看字符集
SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';

在my.cf文件的[mysqld]段设置:
default-character-set=utf8
init_connect='SET NAMES gbk'
这条语句的作用是把character_set_client,character_set_connection,character_set_results
设定为utf8,包括对应的排列方式的编码。
Character_set_server是系统编码,这个是不用改的。


-- 修改库的字符集
alter database xms_national character set utf8;
-- 设置表的字符集
ALTER TABLE region
    DEFAULT CHARACTER SET utf8 COLLATE  utf8_general_ci;
-- 设置所有列的字符集
ALTER table region CONVERT TO CHARACTER SET utf8 COLLATE  utf8_general_ci;
 
 
GBK与GB2312的字符集区别
 
在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的。
  • 最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号
  • 95年重新修订了编码,命名GBK1.0,共收录了21886个符号。
  • 之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,现在WINDOWS平台必需要支持GBK18030编码。
  • 按照GBK18030、GBK、GB2312的顺序,3种编码是向下兼容,同一个汉字在三个编码方案中是相同的编码。
  • 也许大家已经看惯了书上说的GBK是对GB2312的扩充,就是说,GB2312字符集中的所有字符都可以在GBK字符集中找到。(by gashero)可是最近在一次调试Python爬虫的过程中就发现了一些字符的不同。同时大家也应该注意一些网页的默认编码字符集了。

    当时正在分析的一个网页的默认编码字符集是GB2312,其中含有一个符号"·",这个常作为项目符号。在使用GB2312进行解码时,得到的unicode字符是\u30fb,然后使用系统默认编码GBK进行打印时就提示了编码错误。即字符串"\xa1\xa4"无法使用GB2312解码为unicode字符后再编码为GBK编码显示。(by gashero)实际测试中只要不会交换编码,那么使用同一种编码进行编码和解码就不会出问题。

    后来查找得知,字符\u30fb是一种特殊的unicode字符,是一种不允许显示的字符,所以在GBK编码中就没有它的位置(by gashero)。而字符串"\xa1\xa4"使用GBK解码时得到的是\u00b7。

    至此得知,虽然网页的默认编码是GB2312,但是实际上使用的是GBK编码,也使用了一些在GB2312和GBK之间不同的编码字符。所以也就导致了这个错误。

    建议以后编程序的时候,遇到默认编码为GB2312的大可以直接使用GBK进行解码为unicode字符串

 
 {附生僻字}
 
旻(mín) 珺(jùn) 玥(yuè) 弢(tāo) 劼(jié) 璟(jǐng) 琤(chēng) 赟(yūn) 喆(zhé ) 堃(kūn) 翀(chōng) 璠(fán) 甦(sū) 虓(xiāo) 祎(yī) 韡(wěi) 芃(péng) 濛(méng) 昇(shēng) 暐(wěi) 鈃(xíng) 禤(Xuān) 垚(yáo) 瑀(yǔ) 媺(měi ) 嫚(mān) 孋(lí) 瑢(róng) 昉(fǎng) 犇(bēn) 钰(yù) 鉥(shù) 汭(ruì) 蒯(kuǎi) 湧(yǒng) 忞(mǐn) 燮(xiè) 毰(péi) 瑄(xuān) ? 骎(qīn) 燊(shēn) 玙(yú) 瓅(lì) 晞(xī) 颋(tǐng) 璘(lín) 燚(yì) 競 鹍 珅 嬿 ? 扌 鋆 譚 啟 賢 旸 嫄 禛 愔 遂 翃 贇 彧 頔 崟 俍 韻 粦 翾 烜 炘 媺 誌 蒨 煚 珵 昺 慬 珮 曌 佺 涌 奡 傑 衠 愊 勍 曈 隺 棽 玦 琍 龑 冮 鋐 譞 颙 铓 滈 甡 崑 麗 冏 鋩 琍 贠 諕 鑑 靉 奡 瑨 榃 烝 翚 樑 ? 晹 翯 蘋 汎 遆 媖 乂 雰 讱 旴 ? 樑 偉 瑨 顒 禕 贲 羕 璿 炀 竝 秝 伃 陞 楮 淽 菂 弇 竑 湲 琇 镕 琎 洺 偲 晛 嵚 昳 玚 琲 迺 姮 峯 媌 赪 倞 湉 湋 焮 仚 珽 葓 皜 霙 珣 袆 佺 鍊 莦 晅 瑱 昇 枬 瑒 郤 嫕 淏 崚 皞 橦 镋 勣 媔 礴 篪 卍 浥 玏 埗 婼 禼 珹 皛 詟 洑 慿 链 飏 峣 筦 翙 镠 曣 茀 捵 皊 寯 柟 億 雲 茝 愔 渟 珏 倓 湜 洢 叆 鷐 渢 暘 弸 珰 冘 婍 铖 焜 玭 銲 炤 哓 烱 浕
阅读(1388) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~