我在写一个使用php的web应用程序。
主文件(index.php)里面有一些希伯来字符,当我加载它时,它们显示为“?”。
PHP和HTML文件的编码是UTF-8。 当我将index.php扩展名更改为HTML时,希伯来语字符显示得很好。 我试图把此行的代码:PHP编码希伯来文
<?php
header('Content-type: text/html; charset=UTF-8')
?>
,但它并没有帮助。
我仍然想使用该文件作为PHP。我怎样才能让希伯来字符显示?
我在写一个使用php的web应用程序。
主文件(index.php)里面有一些希伯来字符,当我加载它时,它们显示为“?”。
PHP和HTML文件的编码是UTF-8。 当我将index.php扩展名更改为HTML时,希伯来语字符显示得很好。 我试图把此行的代码:PHP编码希伯来文
<?php
header('Content-type: text/html; charset=UTF-8')
?>
,但它并没有帮助。
我仍然想使用该文件作为PHP。我怎样才能让希伯来字符显示?
观光步:
isutf8
或类似)。meta
元素。 (所有这些应设置为UTF-8)询问是否需要帮助任何这些。
问题解决了。 我在记事本+ +中打开了PHP文件,将其编码为“没有BOM的UTF 8”,它工作。 现在,如果任何人都可以解释什么是“没有BOM”,那就太好了。 –
http://en.wikipedia.org/wiki/Byte_order_mark –
BOM在UTF-8中是冗余的(因为多字节UTF-8字符的码位以非特定的非尾码方式映射到几个字节)。它不应该被使用,现在主要是遗留的事情。我可以很容易地相信,在某些浏览器中添加BOM到UTF-8会导致问题。干得好,解决它。我猜你正在使用Windows,因为我想不出任何其他平台会随文本编辑器一起添加BOM到UTF-8文件。 –
将您的编码IDE设置为UTF-8! ;) – JellyBelly
@JellyBelly:我使用的是Eclipse,编码是UTF-8。 –
您可以尝试在浏览器中加载页面的PHP版本,以便显示'?'然后循环浏览器中的一些常用字符编码。在Chrome中,这些位于“查看”菜单下。试试ISO-8859-1,UTF-8,ISO-8859-8等,看看它们中的一个是否看起来正确。然后从那里排除故障。 – Jonathan