2017-04-27 16 views
0

私のデータベーステーブルに、データ型がMEDIUMBLOBのフィールドがあります。 SELECTクエリをSQLで使用して、テキスト/文字列としてコンテンツを取得する方法はありますか。 コンテンツのMIMETYPEBinary/Imageです。blobをvarcharに変換すると、mysqlでnullが返されます

実際に私はtxtファイルをアップロードしてテーブルに挿入しています。

englishテキストファイルをアップロードしても問題ありませんが、テキストファイルmalayalamをアップロードすると、null値が返されます。

は私がnull

方法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 

てみましたか?私はここにいくつかのコードを書かれている事前

+0

これを再現できません。列にnull以外のデータが含まれているかどうか確認できますか? – 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; 
関連する問題