2009-06-03 35 views
5

Khi một số người dùng của ứng dụng ASP.NET của tôi nhập văn bản sau đâyLàm cách nào để gửi biểu mẫu của tôi để hiểu các ký tự unicode?

Je bénéficie d'un huấn luyện

tôi nhận được giá trị sau trong Request.Form tôi:

Je b n ficie d un huấn luyện

Lúc đầu trang của tôi có bộ mã hóa thành Latin1 và Tôi nghĩ rằng việc thay đổi nó thành Unicode (UTF8) bằng cách sử dụng thẻ meta sau sẽ giúp:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 

Nhưng sau khi thay đổi, tôi vẫn nhận được những "khối" đó trong Request.Form.

Điều kỳ lạ là, điều này xảy ra khi tôi gửi trang đang được IIS phân phát (ví dụ: http://localhost/myform.aspx). Nếu tôi nhận được cùng một html, hãy lưu nó cục bộ, mở tệp trực tiếp trong trình duyệt (ví dụ c: \ myform.html) và gửi nó, tất cả đều ổn, tôi thấy các ký tự unicode trong Request.Form của tôi vì chúng phải là .

Bất kỳ mẹo nào? Tôi bị mất ở đây ...

Trả lời

-1

Bạn có thể thử "charset = ISO-8859-1". Tôi hy vọng sự giúp đỡ đó.

2

Thẻ meta bạn đã đề cập đảm bảo rằng nội dung của trang được hiển thị theo mã UTF-8, nhưng không thông báo cách xử lý dữ liệu được đăng. Cho rằng, bạn nên thêm thuộc tính này trong thẻ hình của bạn:

<form accept-charset="utf-8" ....> 

Không có ý tưởng tại sao hành vi này là khác nhau khi bạn chạy nó thông qua IIS và các hệ thống tập tin, mặc dù.

Các vấn đề liên quan