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