如何在MySQL数据库中以正确的方式存储奇怪的字符
我需要在MySQL表中存储一些数据,但我遇到了一些问题,比如“ā”“攓ō”“ĕ”(等等) 到目前为止,我把这些数据存储在SQLlite数据库中,这很好,因为一切都很好,但现在我尝试将其导出到MySQL数据库中,但是奇怪的字符存储方式并不好,即使我尝试了不同的字符编码。(UTF-8、UTF-16、拉丁语等等) 有人知道这样做的正确方法吗 非常感谢 您可以切换到数据类型,或者如果坚持使用TEXT/VARCHAR/CHAR,则需要更改表和数据库的字符集,如下所示如何在MySQL数据库中以正确的方式存储奇怪的字符,mysql,unicode,utf-8,sqlite,encode,Mysql,Unicode,Utf 8,Sqlite,Encode,我需要在MySQL表中存储一些数据,但我遇到了一些问题,比如“ā”“攓ō”“ĕ”(等等) 到目前为止,我把这些数据存储在SQLlite数据库中,这很好,因为一切都很好,但现在我尝试将其导出到MySQL数据库中,但是奇怪的字符存储方式并不好,即使我尝试了不同的字符编码。(UTF-8、UTF-16、拉丁语等等) 有人知道这样做的正确方法吗 非常感谢 您可以切换到数据类型,或者如果坚持使用TEXT/VARCHAR/CHAR,则需要更改表和数据库的字符集,如下所示 CREATE DATABASE m
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\u general\u ci
,则您只需按如下所述更改表即可:
ALTER TABLE `mytable` CHANGE `data` `data` VARCHAR(100)
CHARSET utf8 COLLATE utf8_general_ci DEFAULT '' NOT NULL;
utf8需要在大约4个地方建立
- 数据库中的列--使用
验证它们是否显式设置为utf8,或者是否从表定义中默认设置。(仅更改数据库默认值是不够的。)SHOW CREATE TABLE
- 客户端和服务器之间的连接。请参见
设置名称utf8
- 您拥有的字节数
- 如果要在网页中显示文本,请检查
标记