2016-12-28 94 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