我正在尝试开发朝鲜语词汇应用程序,但在将朝鲜语单词插入数据库并显示它们时遇到了麻烦:它们显示为一串奇怪的字符.有什么办法解决这个问题?或者我只能将朝鲜语单词显示为图像?我需要配置一些东西吗?
到目前为止,我已将文本文件编码更改为“ Other:UTF-8”.但这并不能解决问题.我现在正在使用Android Phonegap进行开发.任何提示或提示将不胜感激.谢谢.
===更新====
<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>
解决方法:
您有编码问题.您似乎在UTF8中正确保存了“점심”,但在Windows Latin 1中显示了该问题.问题出在显示方面.我们需要查看更多代码…
已编辑
您的代码很好-这是存储部分,无论如何我都知道.正如我上面所说的,这是一个显示问题.您是否在< head>中设置了字符集元标记?您网页的一部分?