2012-07-11 54 views
3

我想我的Apache 2.2.14服务器上我的网页越来越UTF-8文本文件,以显示在所有浏览器

http://www.gmarks.org/math_in_e-mail.txt 

在所有平台上的所有浏览器中正确显示(或东西接近这一点)。  我已包含该行

AddDefaultCharset utf-8 

在相应的.htaccess文件中。  但是,我发现在我自己的机器上运行Ubuntu 10.04,该页面完全按照我希望的方式仅在Google Chrome浏览器中显示。  在其他浏览器中的问题:在Opera中,最后两行不显示,在Firefox中,下标 aleph ’ s太小,在rekonq中,最后两行显示不正确,各种Fraktur字符重复显示,其他显示不正确,在Midori Opera和Firefox都出现问题,在Arora的Firefox和rekonq都出现问题时,在Epiphany出现Opera问题。

还有什么我可以放在我的.htaccess文件中,或者我可能设置的其他一些配置,让网页在任何地方都能正确显示?  我想我必须依靠每个用户在他或她的计算机上安装的字体设置(显然它违背了网页的目的使用类似GIF图像的东西)。  我发现浏览器之间的差异很奇怪:每个浏览器在某个配置文件中是否包含自己的一组字体,还是会访问某个包含整个计算机字体的目录?  (而且是在回答最后一个问题依赖于操作系统的?)

另外的问题:我会做的更好,我的.htaccess文件来改变行

AddCharset UTF-8 .txt 

,是有办法,我可以使默认情况下使用增加的字体大小显示.txt文件?

回答

3

浏览器不会知道文本是UTF-8编码,除非文本以UTF-8 BOM(假设浏览器甚至可以查找)或HTTP头指定UTF-8作为字符集,即: Content-Type: text/plain; charset=utf-8。如果AddCharset告诉Apache为.txt文件生成该属性,那么很好。

无法为.txt文件自行指定字体。你必须为此使用HTML。要为.txt文件指定一种字体,您必须编写一个服务器端脚本,该脚本将围绕.txt文件内容输出HTML包装,然后设置HTTP Content-Type标题以指定text/html而不是text/plain作为数据类型。