2017-05-31 76 views
0

我想用数据库保存额外的罕见汉字,使用mysql, 但是一直显示????文字插入表格后。 以前我已经搜索过如何在MySQL数据中插入任何4字节的中文字符,然后按照这个过程("Incorrect string value" when trying to insert UTF-8 into MySQL via JDBC?),但仍然没有用。有什么我想念的吗?我已经将mysql版本更新到5.7.18,并且我试图直接从phpmyadmin插入额外的罕见中文字符。 在此先感谢!MYSQL UTF8MB4不断显示????字符

+0

您只提及utf8mb4,没有提供有关您如何使用它的最少信息。 –

+0

你需要什么样的信息?我只想保存4byte字符到我的表 – rifleon

+0

我很困惑。你的意思是你没有尝试过任何东西?你刚刚安装了MySQL并尝试使用任何默认设置? –

回答

0

由于每CREATE TABLE Syntax

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 
    (create_definition,...) 
    [table_options] 
    [partition_options] 

[...]

table_option: 
    ENGINE [=] engine_name 
    | AUTO_INCREMENT [=] value 
    | AVG_ROW_LENGTH [=] value 
    | [DEFAULT] CHARACTER SET [=] charset_name 

换句话说:

CREATE TABLE test (
    some_column VARCHAR(100) 
) 
CHARACTER SET = utf8mb4; 

它不会伤害到任何选择一个特定的collat​​i上。

+0

不便之处,但我已将数据库服务器,表名和各自的列更改为排序规则utf8mb4,但可能是由于我的列类型是文本而不是varchar问题? – rifleon

+0

具有'utf8mb4'字符集的'TEXT'列可以存储与具有'utf8mb4'字符集的'VARCHAR'列相同的字符。 –

1

您还必须将连接更改为utf8mb4。有关“问号”的讨论,请参阅http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored

注意:数据未能正确存储;无需重新插入数据就无法恢复。

+0

谢谢,我检查了连接,看起来我的字体不支持这个额外的罕见汉字。 我刚刚在这里找到了这个额外的罕见汉字的链接, https://www.download-free-fonts.com/details/90428/simsun-founder-extended – rifleon