在运用 ?id="中文" 发送中文信息时,产生了错误编码,这属于再次编码造成的现象,其实,在 php 环境下,网址里不可以直接传送汉字,对于这个情况,我总是感到不爽,没办法,毕竟我们没有一套应对措施,不清楚其他编程语言是否也存在类似状况。
关于网上提及的将 ("-type:text/html;=utf-8"); 这段代码加入首页的做法,还有将数据库页面等调整为 utf8 的方法,这些尝试完全行不通,结果收到的中文信息总是出现乱码现象。
所有站点 PHP 都采用相同的 utf8 编码,但数据传输时经常出现乱码现象,经过测试多个浏览器后发现,360 浏览器能够正常传递数据,而 IE 浏览器则无法处理,随后通过 $msg = iconv("gbk",'utf-8',$_GET); 代码进行字符转换,再次测试多个浏览器,多数情况下仍然存在乱码显示的问题
最后归纳出一条,关于通过 GET 获取的数据,网址地址里不能直接包含汉字,要是必须传输的话,得用特定方式来转换汉字。至于 POST 的部分,目前还没进行过相关测试。
需要查阅PHP指南中关于括号的功能:括号这个函数能够把文本转化为链接格式,比如空白部分会转变为等号。通常在提交网页表单数据时,会采用这种方式转换内容后进行传输。
真没想到,我明白了,为何经由表单递交的数据没出问题,而通过网址传递的信息却显示错乱
本工具分别实现两种方式的与:
中文 -> 的 -> %D6%D0%CE%C4
将文字转换成字节 -> 使用了UTF-8编码 -> 最终得到的结果是%E4%B8%AD%E6%96%87
Html中的:
在编码为HTML文档时,其中包含的中文压缩文件名为/中文.rar,当用户通过浏览器打开该文件时,系统会自动将其解码为/%D6%D0%CE%C4.rar格式。
正确的中文网址存在兼容问题,因为系统默认以UTF-8编码传输URL数据,而ftp://协议却不受此限制,我经过测试确认了这一点,认为这属于系统缺陷。
在编码为UTF-8的html文件里:/中文.rar,会经由浏览器自动处理,转换为/%E4%B8%AD%E6%96%87.rar这个形式
PHP中的:
所有非字母数字的字符,除了"-_."之外,都会转换成百分号"%",再加上两个十六进制数字表示。
二者差异:空格转换成加号,空格转换成百分号加零加零
小文AI论文
毫不费力化解学术写作困境,人工智能论文工具助您迅速搞定,只要片刻功夫,就能顺利达到学问顶峰,获得卓越成就
4568
扫一扫在手机端查看
- 上一篇:Linux Makefile 规则格式 变量使用_Linux下Makefile文件的的规则格式与变量
- 下一篇:中文字符URL编码原理_php urlencode()与urldecode()函数字符编码原理详解_php技巧
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1