我需要在MySQL表中存储一些数据,但是我遇到了一些问题:“ā”“攓ō”“ĕ”(依此类推)
直到现在我将theese数据存储在SQLlite数据库中并且它很棒,因为一切都很好,但现在我正在尝试将其导出到MySQL数据库中,但奇怪的字符存储不是很好,甚至如果我尝试了不同的char编码。 (UTF-8,UTF-16,拉丁blah blah) 有谁知道这样做的正确方法?
非常感谢!!
答案 0 :(得分:1)
您可以切换到BLOB数据类型,或者如果您坚持使用TEXT / VARCHAR / CHAR,那么您需要更改表和数据库的字符集,如下所示。
CREATE DATABASE mydbname
CHARACTER SET utf8
COLLATE utf8_general_ci;
USE mydbname;
CREATE TABLE `mytable` (
`data` varchar(200) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
如果您已将utf8
字符集和排序规则设置为utf8_general_ci
的数据库,那么您只需更改表格,如下所述:
ALTER TABLE `mytable` CHANGE `data` `data` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
答案 1 :(得分:1)
需要在大约4个地方建立utf8。
SHOW CREATE TABLE
验证它们是显式设置为utf8还是默认为表定义。 (仅更改数据库默认是不够的。)SET NAMES utf8
。<meta>
标记。