Asp.net mvc 3 Jquery:cyrillic符号在提交时变成问号
我使用jquery和ajax提交UTF-8文本,为了确保所有内容都是UTF-8,我在web.config中添加了以下内容:Asp.net mvc 3 Jquery:cyrillic符号在提交时变成问号,asp.net-mvc-3,jquery,utf-8,Asp.net Mvc 3,Jquery,Utf 8,我使用jquery和ajax提交UTF-8文本,为了确保所有内容都是UTF-8,我在web.config中添加了以下内容: <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US" uiCulture="en" /> Jquery代码: $.ajax({ url
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"
uiCulture="en"
/>
Jquery代码:
$.ajax({
url: "@Url.Content("~/Home/EditProductTranslations/")",
type: "POST",
data: $(this).serialize(),
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
scriptCharset: "utf-8" ,
success: function (result) {
//$('#@resultDiv').html(result);
var info = $("<span class='successMsg'></span>").hide().html(result);
info.insertAfter(curSubmit).fadeIn(300).delay(2700).fadeOut(400, function () {
$(this).remove();
});
}
});
$.ajax({
url:@url.Content(“~/Home/EditProductTranslations/”),
类型:“POST”,
数据:$(this).serialize(),
contentType:“application/x-www-form-urlencoded;charset=UTF-8”,
脚本字符集:“utf-8”,
成功:功能(结果){
//$('#@resultDiv').html(结果);
var info=$(“”).hide().html(结果);
info.insertAfter(curSubmit).fadeIn(300).延迟(2700).淡出(400,函数(){
$(this.remove();
});
}
});
我还通过使用记事本++将其转换为UTF-8验证了它的UTF-8数据(尽管粘贴时它说它已经是UTF-8了,并且数据在UTF-8站点上完美显示)。但我只是得到了什么????????而不是我保存表单时的西里尔符号
项目的布局文件也有UTF-8声明元标记,我已经做了所有的常规工作。尝试在firefox上运行提交,firebug正在运行,但似乎所有内容都已正确提交?我需要在控制器内声明UTF-8还是什么?添加
;CharSet=utf8
到连接字符串您只是回显结果吗?还是先进入数据库?在每个输入/输出点都有可能出现编码错误。jquery直接将其提交给一个控制器,并将其保存到数据库(一个采用utf-8编码的MySQL数据库)。我正在使用实体框架进行数据库工作。连接是否也编码UTF-8?这是在代码中设置的,而不是在数据库中。是的!谢谢,就这样,补充说,;连接字符串的CharSet=utf8修复了它:)你能把这个建议变成一个真实的答案吗,这样我就可以批准它并将这个问题标记为已解决?