标签归档:汉字

mysql不能储存生僻汉字?试试utf8mb4字符集

今天发现存进mysql的数据部分丢失了。发现丢失的都是一些生僻的汉字。我这个mysql使用的是utf8字符集,之前一直以为不会发生这种问题,今天才看到了。而且这个问题很早就存在了。这是mysql的一个bug,它的UTF-8字符集只能存储3字节字符,而有部分生僻的汉字是4个字节的,存入时就会出错:

ActiveRecord::StatementInvalid: Mysql::Error: Incorrect string value: ‘\xF0\x90\x8D\x83\xF0\x90…’ for column ‘content’ at row 1

上面的官方bug页面说要到mysql6.0才会解决。其实这个问题在mysql 5.5就解决了。5.5或以上的mysql都可以通过使用utf-16或utf8mb4等字符集解决这个问题。

不过使用ruby on rails的话可能需要一些额外的设置

发表在 信息处理 | 标签为 , , , , , | 留下评论

汉字字频表

这是我整理出来的一份汉字字频表。 包含汉字10029个。文件采用utf-8编码,换行符为LF,每个汉字一行, 数字是对应汉字在文库中出现的次数。汉字和数字由一个空格分隔。

语料文库是我自己从网络整理而来的,包含小说,杂志,科普图书,论坛帖子等,共计1亿多个字符(文本大小300M)。由于语料原自网络,受中国网站普遍采用GB2312,GBK,GB18030等汉字编码影响,这些编码表内的汉字字频可能会普遍偏高。

字频表文件下载点这里。 大家可免费使用, 引用请用链接注明来源。 谢谢。

以下为出现概率最高的50个汉字(汉字字频表 样本):
继续阅读

发表在 信息处理 | 标签为 , , , | 4 条评论