1

我的页面内容在大屏页面上显示正常,但是从移动(jquerymobile)应用页面访问时,不显示特殊字符。我将 JqueryMobile 1.4.0 与 Jquery 1.7.2 一起使用(全部来自谷歌托管的库)。

比如大屏应用上的“ Call Center Agent - ADSL (INBOUND AND OUTBOUND) ”阅读正常,但在移动页面上变成“ Call Center Agent - ADSL (INBOUND AND OUTBOUND) ”。

我尝试了显示类似问题的建议,但没有解决我的问题。

我的移动应用程序 html 片段是:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1">
....

php 文件头片段:

@header("Content-Type: text/html; charset=utf-8");
...

我还尝试了设置 ajaxsetup 的建议添加到设置 ajax 的附加 jquery 片段:

$.ajaxSetup({
  contentType: 'charset=utf-8',
  beforeSend: function(jqXHR) {
    jqXHR.overrideMimeType('charset=utf-8');
  }
});

上述建议均无帮助。

任何克服这个问题的人都可以建议如何使用,并且最受赞赏的替代技术。

4

1 回答 1

0

感谢您提供的建议,但恐怕我自己无意中“制造”了问题:(。(原始工作)数据连接访问是使用 PDO 完成的,没有设置“字符集”,而第二个(通过移动应用程序有问题)已设置“字符集”。因此删除了字符集以符合前者。

(通过移动应用程序有问题) PDO 连接代码:

try {
    $db = new PDO(
        "mysql:host=$db_host;port=$db_port;dbname=$db_name;charset=utf-8",
        $db_user, $db_pass
    );
    $db->query("SET NAMES 'utf8'");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}...

修正 PDO 代码:

try {
    $db = new PDO(
        "mysql:host=$db_host;port=$db_port;dbname=$db_name;",
        $db_user, $db_pass
    );
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}...

希望这可以帮助某人解决类似的问题。

于 2014-07-11T15:51:25.897 回答