UTF8在我的网站上增加了一条线

时间:2011-01-31 15:03:16

标签: html

我正在写一个阿拉伯语网站,并将模板保存为UTF8(使用记事本++),这会在每个文件/模板包含一个额外的新行,是否有解决此问题而无需以ascii格式保存文件?

谢谢。

2 个答案:

答案 0 :(得分:6)

我认为您可以尝试打开文件,然后选择“无BOM的UTF-8”作为编码,然后保存。这可能解释了额外的界限。

答案 1 :(得分:0)

首先,您必须掌握以下信息:

  • 您的编辑器eol角色(代表“行尾”)
  • 你的编辑器charset(dreamweaver,frontpage,eclipse等)
  • 您的输入字符集(客户端浏览器)
  • 您的服务器字符集(后端编程语言:php,java等...)
  • 您的输出字符集(与客户端浏览器相关的响应)

通常EOL字符是“\ n”元字符,表示“新行”。这几乎适用于任何基于unix的系统,它也会将列指针返回到行的开头。基于Windows的系统没有第二种行为,向行指针添加位置,但列指针将保持不变。因此,要解决此问题,基于Windows的系统会在“\ n”之前使用额外的“\ r”元字符。 “\ r”代表“回车”,是指古代技术。它的功能是将列指针重置为行的开头。

在二进制处理说明中,“你应该买一个byke。\ rYou shalt”字符串应翻译成“你应该买一个byke”。因为在“\ r”列位置,解释器会将列指针重置为行的开头,并且将开始用紧跟在(“\ r”元字符)之后的位序列覆盖。

因此,在基于Windows的系统中,您应该使用“\ r \ n”来回车和换行。这在基于Unix的系统上也表现良好。

请注意转移...检查您的来源和目的地字符集。如果它们彼此不同,则可能导致换行或加倍换行。你也可以在字符串中找到一些损坏的字符。

原件:

<div id='tmp'>
   deja vú
</div>

倍增:

<div id='tmp'>

   deja vú

</div>

修剪:

<div id='tmp'>       deja v�    </div>
相关问题