2017-04-27 5 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;