我有简单的脚本,我保存新闻详情,如News Title, News URL and News Image URL
。我注意到,当具有Unicode字符时,图像不会显示http://www.bbj.hu/images2/201412/párizsi_ud_20141218113410452.jpg
它按原样存储在数据库中,但当我在网页中显示它时&显示为
http://www.bbj.hu/images2/201412/pa%c2%b4rizsi_ud_20141218113410452.jpg
当我调试我的asp.net webform页面时,它在
背后的代码中正确显示 protected String getImage(object imgSource)
{
string img = null;
img = imgSource.ToString();
return img;
//调试show image url,但它在实际页面上中断 }
.aspx代码
<asp:Image ID="NewsImage" ImageUrl='<%# getImage(Eval("NewsImageURL")) %>' runat="server" />
我尝试了不同的东西,但它一直显示为http://www.bbj.hu/images2/201412/pa%c2%b4rizsi_ud_20141218113410452.jpg
我该如何解决这个问题
答案 0 :(得分:0)
您的问题的解决方案必须属于以下一项或多项:
C#URL编码/解码:
string encodedUrl = HttpUtility.UrlEncode(myUrl);
string sameMyUrl = HttpUtility.UrlDecode(encodedUrl);
Javascript网址编码/解码:
function myFunction() {
var uri = myUrl;
var uri_enc = encodeURIComponent(uri);
var uri_dec = decodeURIComponent(uri_enc);
}
C#HTML Encode / Decode:
string encodedHtml = HttpUtility.HtmlEncode(myHtml);
string sameMyHtml = HttpUtility.HtmlDecode(encodedHtml);
Javascript HTML Encode / Decode:
function htmlEncode(value) {
//create a in-memory div, set its inner text (which jQuery automatically encodes)
//then grab the encoded contents back out. The div never exists on the page.
return $('<div/>').text(value).html();
}
function htmlDecode(html) {
return $('<div>').html(html).text();
}