標籤歸檔:漢字

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 條評論