为什么IE在使用ajax时不喜欢越南字符?

时间:2014-02-28 17:12:45

标签: javascript jquery ajax unicode

以下标记显示我的表单:

<div id="category-form">

</div>

以下代码是我的脚本:

<script type="text/javascript">
    function clicked(o) {
        var id = o.getAttribute("data-categoryId");
        var name = o.getAttribute("data-categoryName");
        var description = o.getAttribute("data-description");
        loadFormView("/Admin/_EditCategories?categoryId="+ id + "&categoryName="+name+"&description="+description);


    }
    function loadFormView(url) {
        $.ajax({
            url: url,
            type: 'GET',
            cache: false,
            success: function (data) {
                $("#category-form").html(data);
                alert(data);
            }
        });
    }
</script>

我还创建了一个将数据传递给视图的控制器:

public PartialViewResult _EditCategories(int categoryId, string categoryName, string description)
        {
            Category category = new Category();
            category.CategoryId = categoryId;
            category.CategoryName = categoryName;
            category.Description = description;
            ViewBag.Action = "Cập nhật";
            ViewBag.Task = "Sửa thể loại truyện";
            ViewBag.IsEdit = true;
            return PartialView("_TaskCategories", category);
        }

当视图呈现ViewBag内容并在IE上呈现时,文本会出现乱码,而在Chrome和Firefox上,文本会以越南语正确显示。

  

“Truyệncười”是categoryName的值

     

在文本框中,即:“真的?n c ??我”和......在ff或chrome上:“Truyện   cười“

如何在IE中修复文本呈现?提前谢谢!

2 个答案:

答案 0 :(得分:2)

您的网页是否包含meta标记以表示编码? IE可能很难确定要使用哪种编码。确保您的两个文件都以utf8编码,并添加元标记:

<meta charset="utf-8"> 

答案 1 :(得分:1)

我认为这里还有更多。我认为您的正常查询将您的语言环境作为HTTP标头发送,因为某些原因AJAX没有发送。

由于jQuery的ajax支持允许您指定自己的自定义标头,为什么不尝试自己明确设置区域设置标头,这应该排除一些简单的HTTP问题。

Add Header in AJAX Request with jQuery