繁体   English   中英

如何通过Ajax JSon从控制器向视图返回带重音的字符串

[英]How to return string with accent from controller to View via Ajax JSon

我的问题是从控制器返回并通过JsonResult查看的单词丢失了重音,而不是重音被转换为符号。

这个单词“Finalizar_Saída”被错误地表示为“Finalizar_Sa da”。

我最初的回电:

return Json(Object);

我已经尝试过这样的事情:

Add in HTML page:
< META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="@Url.Content("~/path/fileName.js")" type="text/javascript" charset="utf-8"></script> 

添加文档javascript:

contentType: "application/json; charset=ISO-8859-1",
dataType: "json",

在web.config中添加以下文本:

<globalization culture="pt-BR" uiCulture="pt-BR" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" fileEncoding="iso-8859-1" />

要么

<globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8"
      responseHeaderEncoding="utf-8"  enableBestFitResponseEncoding="true" culture="es-MX" uiCulture="es-MX"/>

在C#中添加:

我已经更改了返回电话,如下所示:

Json(Object, "application/json", Encoding.UTF8); 

有人知道解决这个问题的方法吗?

这是一种方法,不一定是一种方法:

您可以使用找到的HTML编码存储带有所需字符的字符串

这里

这些名称可能在代码/数据库中将不再可读,但应在浏览器中正确显示。 可以想象,您可以使用支持UTF的语言来解析字符串,并将其本机编码/解码功能与正则表达式结合使用,以HTML代码替换unicode字符,甚至可以在发送给客户端AJAX请求之前即时完成。

抱歉,问题不是呈现文本的方式,而是我阅读信息的方式。

我正在从文件中读取信息,在我们的例子中,该文件是log4net生成的文件。

问题是log4net是以ansi标准编写的,而我们认为它是utf8标准,

解决方案是使用以下调用将读取模式更改为ansi标准:

Encoding.Default.GetString(buffer).

现在可以了。

还是谢谢你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM