2017-05-31 73 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