新手对的问题_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 12:07:27
原创
1241人浏览过

1.用记事本写的【UTF16大头】格式的HTML,但在HTML文件里面才规定的UTF8,浏览器怎么知道要用UTF8模式解码呢?浏览器要读懂的前提就需要解码,但是这个解码方式却写在文件里面,浏览器怎么选择正确的方式呢?

2.为什么放在Head里而不是文档最前面,按理来说 编码方式不是应该比所谓的 文档类型更底层吗?

望大家指导~

猫眼课题宝
猫眼课题宝

5分钟定创新选题,3步生成高质量标书!

猫眼课题宝 85
查看详情 猫眼课题宝

回复讨论(解决方案)

如果你的服务器读不懂UTF16大头,那就乱了。

如果你的服务器读懂UTF16大头,那么就有下一步:
这个是告诉(解析html)服务器 的模块要用规定的东西输出。

如果你的服务器读不懂UTF16大头,那就乱了。

如果你的服务器读懂UTF16大头,那么就有下一步:
这个是告诉(解析html)服务器 的模块要用规定的东西输出。
也就是说当用户请求的时候按UTF8编码方式发送?

说错了,下面这说法应该对的吧:

因为你这些东西最终都要放在服务器上的。
是UTF16或UTF8都没关系,关键是你服务器要读的懂。


服务器发送:你发送什么都没关系,关键是浏览器读的懂。
浏览器就是一个HTML syntax解析器。按照HTML syntax的语法。(XML syntax)

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head>
登录后复制

都算前缀吧(我不知到)





安什么发送,服务器不是有个默认值吗?
在php中可这样改
header(content-type:xx)

用户只能说我发送的数据是用这种格式,我能接受的是这种格式,不能要求服务器,用什么格式返回的。

安什么发送,服务器不是有个默认值吗?
在php中可这样改
header(content-type:xx)

用户只能说我发送的数据是用这种格式,我能接受的是这种格式,不能要求服务器,用什么格式返回的。
大概明白了,东西放在服务器上,用什么格式保存无所谓,用户浏览器也无法要求服务器按什么格式发送,但是用户请求网页的时候,浏览器会按文档里明确给出的格式,比如UTF8发送给用户,用户端按UTF8解码,这样对吧?

不是,是给浏览器的HTML syntax解析器用的。解析成dom object. 也就是dom tree.

服务器用什么编码发送,是需要在服务器配置哪里设置的。或用动态语言设置(php .net .java)



不是,是给浏览器的HTML syntax解析器用的。解析成dom object. 也就是dom tree.

服务器用什么编码发送,是需要在服务器配置哪里设置的。或用动态语言设置(php .net .java)
麻烦了你这么久,真不好意思。
不过,有一点我没搞明白:

前提:我以【UTF16大头】格式保存HTML,设置发送的格式是UTF8,里也是UTF8。
服务端:按照你说的,服务器能读懂这个HTML,并且我们自己可以设置这个HTML的发送格式,就是UTF8。

#我的问题在这里#
客户端浏览器:
假设1:用户端浏览器在浏览HTML之前,不知道网页编码方式,所以肯定读不出HTML的内容,自然也就更不会知道里面是什么东西,所以就会乱码;
假设2:用户端浏览器通过解析HTML文档前2个字节,发现是EFBB,即UTF8格式,所以可以解析HTML文件,并读取中的内容,但是因为在中的charset告诉浏览器是UTF8之前,浏览器已经知道了编码格式,所以这个charset信息多余了;

这无论是哪一种方式都说不通啊?

浏览器不知道HTML编码方式,就不知道文档内容,不知道文档内容,就不知道meta里写的什么,不知道meta里写的什么,就不知道该用什么格式解码。

浏览器如果要能知道HTML的编码方式,要么直接解析文件,从文件前2个字节读出EFBB,发现是UTF8编码方式;要么服务器已经把UTF8编码方式告诉客户端浏览器了,那还要里的charset干嘛?

我刚接触HTML几天,如果问题过于低级,请见谅。

你先搜下   binary text editor 
我搜到http://www.editpadpro.com/hexadecimal.html  应该可以用的。

注意text,  和  binary.

-》HTML是放在服务器上的,是要先经过服务器读的。
HTML   让记事本  让服务器读   读的是binary串   你说的头是binary串的头。这个头他能读懂,就开始按照他设置的转换程序转化了,变成我们能看懂的 text   .

-》web服务器发送了.它也是先发送个头,可通过web debug工具来看。
浏览器通过分析发过来的头,分析到,后面来的是一段 html,确定用HTML syntax分析器对他处理。

-》HTML syntax分析器,他也有自己固定的语法。

你先搜下   binary text editor 
我搜到http://www.editpadpro.com/hexadecimal.html  应该可以用的。

注意text,  和  binary.

-》HTML是放在服务器上的,是要先经过服务器读的。
HTML   让记事本  让服务器读   读的是binary串   你说的头是binary串的头。这个头他能读懂,就开始按照他设置的转换程序转化了,变成我们能看懂的 text   .

-》web服务器发送了.它也是先发送个头,可通过web debug工具来看。
浏览器通过分析发过来的头,分析到,后面来的是一段 html,确定用HTML syntax分析器对他处理。

-》HTML syntax分析器,他也有自己固定的语法。
谢谢这么耐心的答复 :)

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号