2017-04-27 196 views
0

我的數據庫表中有一個字段,數據類型爲MEDIUMBLOB。 如何使用SQL中的SELECT查詢以文本/字符串形式獲取內容。 內容的MIMETYPEBinary/Image將blob轉換爲varchar在mysql中返回null

其實我正在上傳txt文件並插入到表格中。

當我上傳english文本文件沒有問題。但是當我上傳malayalam文本文件時,它返回空值。

我試着用這個

SELECT CONVERT(uploaded_file USING utf8) AS content FROM table_name 

SELECT CAST(uploaded_file AS CHAR(10000) CHARACTER SET utf8) AS content FROM table_name 

我越來越null

如何讓malayalam文本?

在此先感謝

+0

無法重現此操作。你可以檢查列是否包含任何非空數據? – Devart

+0

列包含數據,我也可以保存文件 –

回答

0

我在這裏寫一些代碼 - http://rextester.com/CHYY75133

看看,它創建,填充和讀取表。結果是可預測的 - 我們有一些字節,並得到'രാകേഷ്'這個詞(使用utf8編碼)。

-- Script was generated by Devart dbForge Studio for MySQL, Version 7.2.58.0 
SET NAMES 'utf8'; 

DROP TABLE IF EXISTS table1; 
CREATE TABLE table1 (
    id INT(11) NOT NULL AUTO_INCREMENT, 
    st VARCHAR(255) DEFAULT NULL, 
    bl MEDIUMBLOB DEFAULT NULL, 
    PRIMARY KEY (id) 
) 
ENGINE = INNODB 
CHARACTER SET latin1 
COLLATE latin1_swedish_ci; 

INSERT INTO table1 VALUES 
(1, 'hello', x'E0B4B0E0B4BEE0B495E0B587E0B4B7E0B58D'); -- രാകേഷ് 

SELECT bl, CAST(bl AS CHAR(1000) CHARACTER SET utf8) FROM table1;