当我的ASP.NET应用程序的某些用户输入以下文本时
Jebénéficied'unun coaching
我在Request.Form中得到以下值:
Jeb n ficied un教练
首先我的页面编码设置为Latin1,我认为使用以下元标记将其更改为Unicode(UTF8)会有所帮助:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
但是在改变之后我仍然在Request.Form中得到那些“块”。
现在奇怪的是,当我提交由IIS提供的页面时会发生这种情况(例如http://localhost/myform.aspx)。 如果我得到相同的html,在本地保存,直接在浏览器中打开文件(例如c:\ myform.html)并提交它,一切都很好,我看到我的Request.Form中的unicode字符应该是。
任何提示?我迷失在这里......
答案 0 :(得分:2)
您提到的元标记可确保在UTF-8代码页之后呈现页面内容,但不会告知应如何处理发布的数据。 为此,您应该在表单标记中添加此属性:
<form accept-charset="utf-8" ....>
不知道为什么在通过IIS和文件系统运行时行为会有所不同。
答案 1 :(得分:-1)
您可以尝试“charset = ISO-8859-1”。我希望有帮助。