在HTML <input>
中:
是否有义务将name
属性设置为英文字符?
我想稍后在$_POST['some_utf8_characters_and_not_english_characters']
中使用它。
以后可能会出现问题吗?
答案 0 :(得分:4)
根据RFC1866第3.2.4章,属性的值可以是除值分隔符(单引号或双引号)之外的任何值,并且不应包含HTML标记分隔符(&lt;和&gt;)。
但是,当您尝试使用name
作为参考访问DOM元素时,您必须测试JavaScript在所有浏览器上的行为(记住您的好朋友MSIE ...)。例如:document.anElementWithPersianName
或document.forms['aFormWithAPersianName']
。因此,如果您使用JS进行验证,并且/或者使用ajax来提交表单,则需要确保JS能够正确处理此字符集。
无论如何,你必须确保:
要做的最好的事情:创建一个简单的表单,在其上做一些JS技巧,并使用PHP脚本解析提交的结果并打印它们。
答案 1 :(得分:0)
这已在我的某个网站成功运作。没问题。
<input name="UTF_word" />
$_POST['UTF_word']
两者都没有在客户端出现任何问题,包括jquery(未在IE中检查)或服务器端。