1

我已经用 HTML5 和 JS (phonegap) 开发了一个应用程序,现在我必须从一个用 delphi 编写的旧桌面应用程序中读取一个文本文件作为导出。此文件是具有固定大小字符串的 MS SQL 导出文件,我必须将其导入我的应用程序的 SQlite。

该文本包含希腊字符并且未以 UTF 编码,因此我阅读了带有问号的菱形。

在我阅读内容之前,有没有办法以编程方式将此文本编码为 UTF?

禁止更改任何 delphi 代码。

这就是我阅读文本文件的方式

var billjson = '{"posts" : [', 
i, 
line = 0,
Amountint,
Amountdec;


jQuery.get('Bill.txt',function(data){
alert(data.length);
line=0;

    for (i = 1; i <= ((data.length)/156); i += 1) {
        billjson += '{"Id" :' + '"' + data.substr((line+0), 10).trim() + '"'  + ',';
        billjson += '"Code" :' + '"' + data.substr((line+10), 5).trim() + '"'  +  ',';
        billjson += '"Address" :' + '"' + data.substr((line+14), 40).trim() + '"'  +  ',';
        billjson += '"Name" : ' + '"'  + data.substr((line+54), 50).trim() + '"'  +  ',';
        billjson += '"Description" : ' + '"'  + data.substr((line+104), 8).trim() + '"'  +  ',';
        billjson += '"EntrySeason" : ' + '"'  + data.substr((line+112), 23).trim() + '"'  +  ',';
        billjson += '"Period" : ' + '"'  + data.substr((line+135), 11).trim() + '"'  +  ',';
        Amountint = data.substr((line+146), 7).trim();
        Amountdec = data.substr((line+153), 2).trim();
        billjson += '"Revenue" : ' + '"'  + Amountint + '.' + Amountdec + '"'  +  '}';
        line = i * 156;
        if (line == data.length)
        {
            billjson += ']';
        }
        else 
        {
            billjson += ',';
        }
    }

    if (line == 0)
    {
        billjson += ']';
    }


    billjson += "}";

var mybilljson = jQuery.parseJSON( billjson );
});

请指教

4

1 回答 1

0

您必须让 jquery 知道它正在加载的文件中使用了什么编码。

jQuery.ajaxSetup({
        'beforeSend' : function(xhr) {
             xhr.overrideMimeType('text/plain; charset=iso-8859-7');
        },
});
于 2012-09-19T16:03:09.733 回答