如何使用未知编码jquery编码为utf文本文件

时间:2012-09-19 15:48:48

标签: javascript file jquery-mobile encoding

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

此文字包含希腊字符,不以UTF编码,所以我读了带问号的钻石。

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

更改任何delphi代码都是forbiten。

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

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 );
});

请咨询

1 个答案:

答案 0 :(得分:0)

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

jQuery.ajaxSetup({
        'beforeSend' : function(xhr) {
             xhr.overrideMimeType('text/plain; charset=iso-8859-7');
        },
});