文件编码实验
html文件为UTF-8编码,chrome浏览器下测试
Server Content-Charset |
html内部charset |
结果 |
UTF-8 |
UTF-8 |
正确 |
UTF-8 |
GB2312 |
正确 |
UTF-8 |
无 |
正确 |
gb2312 |
UTF-8 |
乱码 |
gb2312 |
GB2312 |
乱码 |
gb2312 |
无 |
乱码 |
无 |
UTF-8 |
正确 |
无 |
GB2312 |
乱码 |
无 |
无 |
正确 |
html文件为ANSI编码,chrome浏览器下测试
Server Content-Charset |
html内部charset |
结果 |
UTF-8 |
UTF-8 |
乱码 |
UTF-8 |
GB2312 |
乱码 |
UTF-8 |
无 |
乱码 |
gb2312 |
UTF-8 |
正确 |
gb2312 |
GB2312 |
正确 |
gb2312 |
无 |
正确 |
无 |
UTF-8 |
乱码 |
无 |
GB2312 |
正确 |
无 |
无 |
正确 |
在Server端及html内部均不设置charset时,各浏览器下html显示情况
浏览器 |
html文件编码 |
结果 |
IE9 |
GB2312 |
乱码 |
Firefox |
GB2312 |
正确 |
Chrome |
GB2312 |
正确 |
IE9
|
UTF-8 |
正确
|
Firefox |
UTF-8 |
正确 |
Chrome |
UTF-8 |
正确 |
结论:
1.无论是server端还是html文件内部指定charset时,都需要与文件的编码保持一致;
2.浏览器在解析Content-Type时,首先解析Response Header里的Content-Type,如果存在则按照Content-Type指定的charset对流进行解析。如果不存在,获取页面中“<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>”的值,如果存在charset,按照charset指定的值进行编码。
3.如果server或html文件都未给出charset,则浏览器按照自行判断文件可能使用的编码,不同的浏览器显示效果不同;
分享到:
相关推荐
--header ' content-type: application/json ' \ --data ' { "email": "aaa@example.com", "password": "passw000rd" } ' -v 登录 curl --request POST \ --url http://localhost:8080/login \ --header ' ...
response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(filename, "UTF-8")); Files.copy(file.toPath(), response.getOutputStream()); } else { response....
如果只使用`setContentType`而不调用`setCharacterEncoding`,那么浏览器可能会根据HTTP头部的`Content-Type`来猜测字符集,这可能不总是准确的。 此外,`setHeader(String name, String value)`方法可以用来设置...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 用户登陆页面 用户名: <input name="username" type="text" /> 密码: <input name="password" type="text" /> 自动登陆...
-T content-type 指定POST请求使用的Content-Type头信息。 -v verbosity 设置输出信息的详细程度,不同的值会显示不同级别的信息。 -V 显示版本信息并退出。 -w 以HTML表格的形式输出结果。 -x<table>-...
`CURLOPT_HTTPHEADER`则设置了请求头,包括API的访问令牌(`X-APISpace-Token:`)和认证类型(`Authorization-Type: apikey`),这些都是调用API所必需的。 最后,`curl_exec()`执行了HTTP请求,如果出现错误,`...
The response object, which is an instance of HttpServletResponse, is used to send a response back to the client.</p><p>Content-Type set to: ()%></p><p>Cache-Control header set to: ("Cache-Control")%>...
httpPost.setHeader("Content-Type", "application/json; charset=UTF-8"); ``` 此外,HttpClient提供了一些高级特性,如重试策略、连接管理和多线程支持。例如,你可以通过`RequestConfig`自定义请求配置,包括...
3. **灵活性**:HTTP协议支持传输任意类型的数据,数据类型通过Content-Type头部字段标识。 4. **无连接性**:每次请求处理完成后,服务器与客户端之间的连接将被断开,这种方式减少了资源消耗,加快了响应速度。 5....
String contentType = response.getHeader("Content-Type"); ``` ##### 2.2 设置定时刷新练习 为了实现页面的定时刷新功能,可以利用`response.setHeader()`方法设置`Refresh`头。 **步骤详解**: - **设置定时...
print "Content-type: text/html\n\n"; print "<html><body>"; print "<h1>Hello World!</h1>"; print "</body></html>"; ``` - 在浏览器中输入`http://localhost/cgi-bin/test.cgi`来测试CGI脚本是否正常工作...
'Content-Type': 'application/json' }, body: JSON.stringify({ name, message, ip, time }) }).then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error...
header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=".$_GET['filename']); readfile($_GET['filename']); exit; ``` 在这个例子中,用户通过URL访问下载脚本...
<meta http-equiv="Content-Type" content="text/html;charset=gb2312"/> $sqlstr = "SELECT * FROM system WHERE id = 1"; $result = $DB->query($sqlstr); while ($rows = $DB->fetch_array($result)) { ?>...
而对于PHP脚本,利用header()函数来明确指定HTTP头部的Content-Type编码也是避免乱码的有效方法。当遇到编码不明确时,了解浏览器默认处理机制以及服务器的相关设置,有助于迅速定位问题并找到解决办法。
- 添加请求头,如Authorization令牌、Content-Type等。 - 发送请求体(如果请求类型为POST或PUT),并读取响应。 4. **使用Apache HttpClient** - Apache HttpClient是一个强大的HTTP客户端库,提供更高级别的...
resp.setHeader("Content-Disposition", "attachment; filename=\"" + file.getName() + "\""); resp.setContentLength((int) file.length()); try (FileInputStream fis = new FileInputStream(file)) { byte...
使用`response.setContentType()`指定文件类型,`response.setContentLength()`设置文件大小,`response.setHeader("Content-Disposition", "attachment; filename=yourfilename")`告知浏览器这是一个附件,用户将被...
【标题】"dtr.http-github.io" 是一个与网页...通过分析提供的压缩包文件 "dtr.http-github.io-main",我们可以更深入地了解这个项目具体包含的内容,如HTML代码示例、布局设计,或者可能是关于HTML的一些实验和测试。
Content Type: ()%> Server Name: ()%> Server Port: ()%> Authorization Scheme: ()%> The Browser you are using is ("User-Agent")%> ``` #### 2. Response (响应对象) `response`对象...