在进行网络数据采集时,处理Unicode 字符串是很痛苦的事情。默认情况下,MySQL 也
不支持Unicode 字符处理。不过你可以设置这个功能(这么做会增加数据库的占用空间)。
因为在维基百科上我们难免会遇到各种各样的字符,所以最好一开始就让你的数据库支持
Unicode:
ALTER DATABASE scraping CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;(转换名叫scraping的数据库)
ALTER TABLE pages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;(转换名叫pages的数据库表)
ALTER TABLE pages CHANGE title title VARCHAR(200) CHARACTER SET utf8mb4 COLLATE
utf8mb4_unicode_ci;
ALTER TABLE pages CHANGE content content VARCHAR(10000) CHARACTER SET utf8mb4 CO
LLATE utf8mb4_unicode_ci;(转换期中两项叫title,content的列)
这四行语句改变的内容有:数据库、数据表,以及两个字段的默认编码都从utf8mb4
(严格说来也属于Unicode,但是对大多数Unicode 字符的支持都非常不好)转变成了
utf8mb4_unicode_ci。
你可以在title 或content 字段中插入一些德语变音符(umlauts)或汉语字符,如果没有
错误就表示转换成功了。
不支持Unicode 字符处理。不过你可以设置这个功能(这么做会增加数据库的占用空间)。
因为在维基百科上我们难免会遇到各种各样的字符,所以最好一开始就让你的数据库支持
Unicode:
ALTER DATABASE scraping CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;(转换名叫scraping的数据库)
ALTER TABLE pages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;(转换名叫pages的数据库表)
ALTER TABLE pages CHANGE title title VARCHAR(200) CHARACTER SET utf8mb4 COLLATE
utf8mb4_unicode_ci;
ALTER TABLE pages CHANGE content content VARCHAR(10000) CHARACTER SET utf8mb4 CO
LLATE utf8mb4_unicode_ci;(转换期中两项叫title,content的列)
这四行语句改变的内容有:数据库、数据表,以及两个字段的默认编码都从utf8mb4
(严格说来也属于Unicode,但是对大多数Unicode 字符的支持都非常不好)转变成了
utf8mb4_unicode_ci。
你可以在title 或content 字段中插入一些德语变音符(umlauts)或汉语字符,如果没有
错误就表示转换成功了。