1

我有看起来像这样的ajax函数:

jQuery.ajax({
    type: 'POST',
    data: {
        action: 'get_data',
        article_id: some_var
    },
    url: 'http://www.example/test.php',
    success: function(msg) {
    jQuery('#some_div').html(msg);
    }
});

在 test.php 中,我有 mysql 查询,该查询从基础获取行,id 等于 article_id。它运作良好。但是我在数据库中有一些塞尔维亚语字符,当 ajax 返回这些字符时,它们看起来像这样:“Ž”是“�”,“Š”是“?”。数据正确存储在 mysql 中(utf8 连接、colations 和所有其他 stufs),html 页面编码是 utf8 ......我遗漏了一些东西,我不知道是什么......

4

3 回答 3

0

尝试将数据类型添加到 ajax 查询:

dataType: 'html'
于 2012-08-01T15:47:46.430 回答
0
  1. meta如果不存在,请在标记中的 html 中设置字符编码。
  2. 在服务器端使用类似mb_convert_encodingiconv功能的东西。
于 2012-08-01T15:48:49.530 回答
0

已解决,我在连接到基础后添加:mysql_query("SET NAMES utf8"); mysql_query("SET CHARACTER SET utf8"); mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'"); . 我认为这仅在将数据插入基础时才重要

于 2012-08-19T20:21:35.283 回答