【发布时间】:2015-07-15 16:11:00
【问题描述】:
我有一个 Microsoft Access 数据库,其中包含使用 Gurmukhi (ਗੁਰਮੁਖੀ) 脚本的旁遮普语列。当我在 MATLAB 中读取数据库时,旁遮普语单词显示为 ?????。
如何正确读取数据? 这是代码:
slCharacterEncoding('UTF-8');
setdbprefs('DataReturnFormat', 'cellarray');
setdbprefs('NullNumberRead', 'NaN');
setdbprefs('NullStringRead', 'null');
%Make connection to database. Note that the password has been omitted.
conn = database('Punjabi', '', '');
%Read data from database.
curs = exec(conn, ['SELECT DICWEB2.ID'... ' , DICWEB2.gur'...
' , DICWEB2.Meaning'...
' , DICWEB2.Shah'...
' , DICWEB2.Type'...
' , DICWEB2.sFile'...
' FROM DICWEB2 ']);
curs = fetch(curs);
close(curs);
%Assign data to output variable
Pun1 = curs.Data;
%Close database connection.
close(conn);
%Clear variables
clear curs conn
【问题讨论】:
-
如果在加载数据库之前使用这个命令会怎样:
feature('DefaultCharacterSet', 'UTF8')? -
你知道数据中使用的编码吗?它是 Unicode 编码之一,可能是
UTF8或UTF16?或者它是带有旁遮普语特定代码页的 8 位 ASCII 码? -
我不知道这对解决方案是否重要。 (如果涉及代码页,则可能。) ... Gurmukhi (ਗੁਰਮੁਖੀ) alphabet or Shahmukhi (شاہ مکھی) alphabet 中的数据是否? (抱歉,粘贴时 by Browser 似乎丢弃了 RTL 控制字符。)
-
@das-g 数据是gurmukhi格式。
-
呃,编辑你的问题,把代码放在那里,拜托。在评论中它不是很清晰,因为所有换行符都丢失了。
标签: matlab ms-access character-encoding non-ascii-characters