加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

php – 如何通过表单传输字符?

发布时间:2020-12-14 22:44:47 所属栏目:资源 来源:网络整理
导读:我一直在使用表单,并看到 标签对将在文本区域中键入的文本进行编码.事情是用于存储文件的编码方法不是. 我已经看到,如果键入的字符不是 所规定的编码的一部分.标签,该字符将为referenced( #D;) 我假设表单是从编码speciefied发送字节序列. 因为如果我键入一

我一直在使用表单,并看到< meta charset =“ISO-8859-7”>标签对将在文本区域中键入的文本进行编码.事情是用于存储文件的编码方法不是.

我已经看到,如果键入的字符不是< meta charset =“ISO-8859-7”>所规定的编码的一部分.标签,该字符将为referenced(& #D;)

我假设表单是从编码speciefied发送字节序列.
因为如果我键入一个字符,它将是一个编码将解释的字节.

例如,使用< meta charset =“ISO-8859-7”>
我输入一个字符“¥”的形式

这个char不是编码的一部分,但它必须作为它代表A5的位置的一个字节发送,无论它是否可以表示(这通常由任何编辑器制作).

但不是,表单不会将其作为字节发送,而是字符为referenced.

码:

index.php文件:

encode.php:

源代码中的结果:

string(6) "&#165;"

注意:我已经测试过更改用于存储文件的编码.

在index.php中:
无论使用什么编码来存储文件,表单总是会相应地使用accept-charset =“”属性或使用< meta charset =“”>进行发送.如果未指定accept-charset =“”,则标记.

并使用encode.php:
字符串永远不会被文件编码.可以工作和表示,但用于存储文件的编码与此无关.

最佳答案
问题是表单编码不支持键入的字符.

据我所知,如果用户在表单编码不支持的表单字段中输入字符,则HTML 4和HTML 5都不指定浏览器应该执行的操作.

HTML 5是否指定不支持的字符应替换为ASCII?在URL1的查询部分(因此在GET表单提交?),但我找不到POST表单的任何内容.

似乎所有浏览器(或至少IE,FF,Chrome,Opera)都同意将不支持的字符编码为XML实体. (更好的方法可能是警告用户并阻止表单提交,但这是桥下的水.)

当然,解决方案是一直使用UTF-8.然后编码支持所有字符,并且不会出现此问题.

12.6.3 Resolving URLs. HTML 5,W3C Working Draft 25 May 2011,第8.1项:

If the character in question cannot be expressed in the encoding encoding,then replace it with a single 0x3F octet (an ASCII question mark) […]

有趣的事实:以上仅适用于IRI的查询部分(问号后面的部分).路径部分始终使用UTF-8编码.主机名当然是用Punycode编码的.头脑很难看.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读