Html 浏览器如何使用<;中定义的字符串;img src=”等;“字符串”/&燃气轮机;加载图片文件
我有一个非常奇怪的问题: 我使用xsl显示一个html图片,其中源代码在xml文件中定义如下:Html 浏览器如何使用<;中定义的字符串;img src=”等;“字符串”/&燃气轮机;加载图片文件,html,xml,encoding,browser,Html,Xml,Encoding,Browser,我有一个非常奇怪的问题: 我使用xsl显示一个html图片,其中源代码在xml文件中定义如下: <pic src="..\_images\gallery\smallPictures\2009-03-11 אפריקה ושחור לבן\020.jpg" width="150" height="120" /> [有趣的角色是希伯来语-;)] 现在是奇怪的部分: 在本地测试文件时,它可以在Firefox和Safari上工作,但不能在IE和opera上工作。(file://c:
<pic src="..\_images\gallery\smallPictures\2009-03-11 אפריקה ושחור לבן\020.jpg" width="150" height="120" />
[有趣的角色是希伯来语-;)]
现在是奇怪的部分:
Asaf在本地打开文件时,没有服务器提供HTTP头。至少这是一个很大的区别。尝试检查浏览器认为页面所在的编码、从光盘手动打开页面的时间以及通过HTTP提供服务的时间
如果您的脚本或服务器正确设置了头,那么这可能就是原因。当您在本地打开文件时,没有服务器提供HTTP头。至少这是一个很大的区别。尝试检查浏览器认为页面所在的编码、从光盘手动打开页面的时间以及通过HTTP提供服务的时间
如果您的脚本或服务器正确设置了标题,那么这可能就是原因。这很可能是编码问题。尝试在生成的HTML页面中显式指定编码,方法是在页面头部包含以下元元素(假设XSLT设置为生成UTF-8):
...
...
这会告诉浏览器在呈现页面时使用UTF-8编码(您实际上可以在Internet Explorer的页面->编码菜单中看到使用的编码)
当网页由web服务器提供服务时,这种方法之所以有效,是因为web服务器已经告诉浏览器响应在其中一个HTTP头中的编码
为了基本了解编码的含义,我建议您阅读以下文章:
这很可能是编码问题。尝试在生成的HTML页面中显式指定编码,方法是在页面头部包含以下元元素(假设XSLT设置为生成UTF-8):
...
...
这会告诉浏览器在呈现页面时使用UTF-8编码(您实际上可以在Internet Explorer的页面->编码菜单中看到使用的编码)
当网页由web服务器提供服务时,这种方法之所以有效,是因为web服务器已经告诉浏览器响应在其中一个HTTP头中的编码
为了基本了解编码的含义,我建议您阅读以下文章:
这是一个Windows文件路径,与有效文件路径不同。您需要:
- 用
替换/
反斜杠李>\
- 如果您希望文件位于根目录中,则可以删除
李>。
- 用URL编码的版本替换空格(以及任何其他不利于URL的标点符号)李>
- 为了与不正确支持(并避免页面编码问题)的浏览器兼容,像希伯来语这样的非ASCII字符必须采用UTF-8和URL编码
<img src="_images/gallery/smallPictures/2009-03-11%20020/%D7%90%D7%A4%D7%A8%D7%99%D7%A7%D7%94%20%D7%95%D7%A9%D7%97%D7%95%D7%A8%20%D7%9C%D7%91%D7%9F%10.jpg"/>
单独在XSLT中无法将filepath转换为URI。您需要在服务器上使用一些脚本语言,例如在Python中使用nturl2path.pathname2url()
一般来说,最好在XML源代码中以URL形式保留文件引用
这是一个Windows文件路径,与有效文件路径不同。您需要:
- 用
替换/
反斜杠李>\
- 如果您希望文件位于根目录中,则可以删除
李>。
- 用URL编码的版本替换空格(以及任何其他不利于URL的标点符号)李>
- 为了与不正确支持(并避免页面编码问题)的浏览器兼容,像希伯来语这样的非ASCII字符必须采用UTF-8和URL编码
<img src="_images/gallery/smallPictures/2009-03-11%20020/%D7%90%D7%A4%D7%A8%D7%99%D7%A7%D7%94%20%D7%95%D7%A9%D7%97%D7%95%D7%A8%20%D7%9C%D7%91%D7%9F%10.jpg"/>
单独在XSLT中无法将filepath转换为URI。您需要在服务器上使用一些脚本语言,例如在Python中使用nturl2path.pathname2url()
一般来说,最好在XML源代码中以URL形式保留文件引用。@Asaf,我相信@Svend是正确的。HTTP头将指定内容类型、内容编码和其他内容。编码可能是这种奇怪行为的原因。在没有指定编码的标题信息的情况下,不同的浏览器将使用不同的方法猜测编码
尝试右键单击浏览器中的页面并“显示页面信息”。根据浏览器的不同,从服务器提供的内容编码应该不同于直接从硬盘提供的内容编码。@Asaf,我相信@Svend是正确的。HTTP头将指定内容类型、内容编码和其他内容。编码可能是这种奇怪行为的原因。在没有指定编码的标题信息的情况下,不同的浏览器将使用不同的方法猜测编码 尝试右键单击浏览器中的页面并“显示页面信息”。内容编码
<img src="_images/gallery/smallPictures/2009-03-11%20020/%D7%90%D7%A4%D7%A8%D7%99%D7%A7%D7%94%20%D7%95%D7%A9%D7%97%D7%95%D7%A8%20%D7%9C%D7%91%D7%9F%10.jpg"/>