3

韓国語の語彙アプリを開発しようとしていますが、韓国語の単語をデータベースに挿入して表示するのに問題があります。それらは奇妙な文字の文字列として表示されます。これを解決する方法はありますか?または、韓国語の単語のみを画像として表示できますか?何かを構成する必要がありますか?

これまで、テキストファイルのエンコーディングを「Other:UTF-8」に変更しました。しかし、それでは問題は解決しません。現在、AndroidPhonegapを使用して開発しています。ヒントやヒントをいただければ幸いです。ありがとうございました。

===更新====

  <script type="text/javascript" charset="utf-8">
    // Wait for PhoneGap to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Populate the database 
    //
    function populateDB(tx) {
        tx.executeSql('DROP TABLE IF EXISTS DEMO');
        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, kword TEXT NOT NULL, eword TEXT NOT NULL, pronoun TEXT NOT NULL, level INTEGER NOT NULL)');
        tx.executeSql('INSERT INTO DEMO (id, kword, eword, pronoun, level) VALUES ("1", "점심", "Lunch", "jeomsim", "1")');
        tx.executeSql('INSERT INTO DEMO (id, kword, eword, pronoun, level) VALUES ("2", "晚餐", "Dinner", "naeil", "1")');
    }

    // Query the database
    //
    function queryDB(tx) {
        tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
    }

    // Query the success callback
    //
    function querySuccess(tx, results) {
        var data ='';
        var len = results.rows.length;
        localStorage.tablerows = len;
        for (var i=0; i<len; i++){
            data = data +"<tr><td>"+results.rows.item(i).id +"</td><td>"+ results.rows.item(i).kword+ "</td><td>" +  results.rows.item(i).eword +"</td></tr>" ;
        }
        display(data);
    }

    // Transaction error callback
    //
    function errorCB(err) {
        alert("Error processing SQL: "+err.code);
    }

    // Transaction success callback
    //
    function successCB() {
        var db = window.openDatabase("Database", "1.0", "Vocabulary", 200000);
        db.transaction(queryDB, errorCB);
    }

    // PhoneGap is ready
    //
    function onDeviceReady() {
        var db = window.openDatabase("Database", "1.0", "Vocabulary", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }

    function display(data){
        $('table#vocab').css('display','block');
        $('table#vocab tbody').append(data);
    }
</script>

ここに画像の説明を入力してください

4

1 に答える 1

3

エンコーディングに問題があります。'점심'はUTF8で正しく保存されているようですが、WindowsLatin1で表示されています。問題は表示側にあります。もっとコードを見る必要があります...

編集済み

あなたのコードは大丈夫です-これはストレージ部分であり、とにかく大丈夫だと私は知っていました。上で述べたように、これは表示の問題です。Webページcharsetの一部にメタタグを設定していますか?<head>

于 2012-06-08T06:40:16.787 に答える