2016-12-28 95 views
0

我有一个问题给我很多问题。我需要从cshtml中使用C#代码将一些变量设置为javascript。问题在于accutes和西班牙语“ñ”在窗口中显示为unicode字符串。从C#到Unicode的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是这样的:

“赫苏斯&“#250; s” 和它应该是 “耶稣”

任何想法如何解决这个问题?

谢谢

回答

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

谢谢路易斯,它工作完美。 – Mikel

1

你可以试试这个:

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

Saludos。

+0

这也工作了!谢谢NicoRiff – Mikel