HTTP协议RFC 2616规定URL字符集默认ISO-8859-1。浏览器地址栏输入时,Chrome 89.0、Firefox 87.0执行UTF-8编码转换。URL参数字符经百分号编码生成字节序列,如"拆解为三个ISO-8859-1字符,生成乱码序列如?????‰。
Nginx 1.18配置未显式设置charset时,默认传递Latin-1编码数据。PHP $_GET全局数组自动执行urldecode()函数,依据php.ini中default_charset配置解码,缺省值ISO-8859-1。
Javascript ECMA-262标准定义encodeURIComponent()方法。前端调用encodeURIComponent('')输出%E4%B8%AD%E6%96%87。Python 3.8+ urllib.parse.urlencode()默认UTF-8编码,Java URLEncoder.encode()需显式指定UTF-8参数。
Tomcat 8.0+版本server.xml配置URIEncoding="UTF-8"Apache httpd.conf添加AddDefaultCharset UTF-8指令。PHP脚本文件存储格式要求UTF-8 without BOM,header()声明Content-Type:text/html;charset=utf-8。
MySQL 5.7连接参数设置characterEncoding=UTF-8。HTML5规范要求<meta charset="</p>











