从C#到javascript的Unicode转换

时间:2016-12-28 16:43:06

标签: javascript c# unicode

我有一个问题,给我很多问题。我需要从cshtml设置使用C#代码将一些变量设置为javascript。问题是,控制和西班牙语“ñ”在窗口中显示为unicode字符串。

我正在尝试这段代码:

@:var nombrePersona = '@System.Text.Encoding.Unicode.GetString(System.Text.Encoding.Unicode.GetBytes(participante.Nombre))'
@:var apellidoPersona = '@System.Text.Encoding.Unicode.GetString(System.Text.Encoding.Unicode.GetBytes(participante.Apellidos))'

javascript中的结果如下:

“Jes”&'#250; s“,它应该是”Jesús“

如何解决这个问题?

谢谢

2 个答案:

答案 0 :(得分:1)

试试这个:

var nombrePersona = '@Html.Raw(HttpUtility.HtmlDecode(participante.Nombre))'
var apellidoPersona = '@Html.Raw(HttpUtility.HtmlDecode(participante.Apellido))'

修改

另外。如果您使用格式错误的字符串填充HtmlDecode(),则无效。尝试先清理它:

"Jes'&'#250;s".Replace("'", "")  // "Jesús" 

答案 1 :(得分:1)

你可以试试这个:

var nombrePersona = '@Html.Raw(HttpUtility.JavaScriptStringEncode(participante.Nombre))'
var apellidoPersona = '@Html.Raw(HttpUtility.JavaScriptStringEncode(participante.Apellido))'

Saludos。