问题描述
||
我正在开发一个简单的网站,我需要在用户名和其他字段中使用土耳其语字符(ç,ş,ğ,ı,ü)。执行以下语句时,
Response.Redirect(\"View2.aspx?ApplicantName=\" + applicantname);
当申请人名称中包含“ü”时,它将无法获得申请人的名称。我怀疑这是因为\“ü\”的表示中带有&符号(&)ü
。
那么我需要做什么来解决它?
解决方法
您只需要适当的URLEncoding
Response.Redirect(\"View2.aspx?ApplicantName=\" + Server.UrlEncode(applicantname));
或者,如果您使用的是Unicode:
Response.Redirect(\"View2.aspx?ApplicantName=\" + HttpUtility.UrlEncode(applicantname,System.Text.Encoding.GetEncoding(\"ISO-8859-1\")));
不要忘记在另一端使用URLDecode。
参考文献
MSDN for Server.UrlEncode
HttpUtility.UrlEncode(文本,编码)的MSDN
MSDN for System.Text.Encoding
, 将此行添加(或更改,如果存在)到web.config文件的system.web部分。
<globalization culture=\"tr-TR\" uiCulture=\"tr-TR\" fileEncoding=\"iso-8859-9\" requestEncoding=\"iso-8859-9\" responseEncoding=\"iso-8859-9\" />