1

HTML5とJS(phonegap)でアプリを開発しましたが、delphiで記述された古いデスクトップアプリケーションからのエクスポートとしてテキストファイルを読み取る必要があります。このファイルは、アプリのSQliteにインポートする必要がある固定サイズの文字列を含むMSSQLエクスポートです。

このテキストにはギリシャ文字が含まれており、UTFでエンコードされていないため、疑問符の付いたひし形を読みました。

コンテンツを読む前に、このテキストをプログラムでUTFにエンコードする方法はありますか?

デルファイコードを変更することは禁じられています。

これが私がテキストファイルを読む方法です

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 に答える