我有一個帶有留言板的網站。董事會讓人們發佈消息幷包含附件。每次有人用非Unicode字符編寫帖子時,我的網站都出現問題。在努力解決這個問題,我改變了我的HTML表單代碼HTML格式:在Firefox中結合charset和enctype的問題
enctype="multipart/form-data"
(因爲我接受上傳文件)到:
enctype="multipart/form-data;charset=UTF-8"
這解決了人品問題。但它打破了Firefox 2到3.5的文件上傳功能。 Firefox接受用戶提交的所有文本,但不接受文件數據。它的行爲完全像它應該,但似乎沒有提交的文件。一切工作正常在Safari。
我也試過
enctype="multipart/form-data" accept-charset="UTF-8"
...但是,對角色的問題沒有影響。
有關解決此問題的方法的任何想法?
嗯。不知道該告訴你什麼。 charset就像一個魅力。該頁面的頭部已經有。你在暗示別的嗎? – burton 2009-10-05 22:44:42
如果您已將該元標記放入,您的表單將始終以UTF-8格式提交。如果您在提交中遇到了非ASCII的問題,那麼您需要在服務器端修復這個問題。多部分'charset'可能發生的事情是,你簡單地打破了'enctype',使Firefox忽略它,並提交表單作爲application/x-www-form-urlencoded來代替(因此文件上傳失蹤)。 – bobince 2009-10-05 22:57:31
呃,如果這是一個指定字符集的真正的http頭*,那麼瀏覽器將會使用它並*忽略*你可能提供或不提供的任何meta html標籤。這讓很多人出門。元標記僅用於缺少http頭字符集聲明。 – goat 2012-05-09 23:50:29