我在从SQl Lite数据库中读取数据时遇到了问题,这些数据是我存储的阿拉伯数据。阿拉伯语文本在我的Db中正确保存。我正在使用以下代码。
if(language == "arabic"){
//alert(value);
db.transaction(function(tx) {tx.executeSql('SELECT * FROM BRANDOFFERS WHERE brandId IN (SELECT id FROM BRANDS WHERE nameArabic="'+value+'") ', [], fillDiscountType, errorCB);}, errorCB);
}else{
db.transaction(function(tx) {tx.executeSql('SELECT * FROM BRANDOFFERS WHERE brandId IN (SELECT id FROM BRANDS WHERE name="'+value+'") ', [], fillDiscountType, errorCB);}, errorCB);
在阿拉伯语的情况下,它没有取得任何结果,但反对英语我得到正确的结果。此外,我试图从sqllite DB显示阿拉伯语文本,它显示正确。但是,我不知道为什么它无法用阿拉伯语文本进行搜索。在
中答案 0 :(得分:0)
我想我明白了。我使用了以下代码
var getServerAtabicText = brands[i].nameArabic; //Arabic text
var decodedArabicText = $('<div/>').html(getServerAtabicText).text();
将阿拉伯语文本保存到SQL lite DB之前。然后我只是运行相同的代码:
if(language == "arabic"){
//alert(value);
db.transaction(function(tx) {tx.executeSql('SELECT * FROM BRANDOFFERS WHERE brandId IN (SELECT id FROM BRANDS WHERE nameArabic="'+value+'") ', [], fillDiscountType, errorCB);}, errorCB);
}else{
db.transaction(function(tx) {tx.executeSql('SELECT * FROM BRANDOFFERS WHERE brandId IN (SELECT id FROM BRANDS WHERE name="'+value+'") ', [], fillDiscountType, errorCB);}, errorCB);
用于查询我的数据并且它可以工作(: