2009-10-01 62 views
2

我正在使用notepad ++进行php编码。UTF-8编码问题

我对使用ANSI中的Encode设置的格式没有任何问题。

但是,当我使用UTF-8编码时,无论是在顶部还是一个奇怪的字符或没有显示任何东西。

Q1。我应该使用ANSI吗? Q2。为什么我在使用UTF-8时无法显示任何东西?我的头文件的代码如下。

<html> 
<head> 
<title>Hello, PHPlot!</title> 
</head> 

这是因为我没有在标头中使用UTF-8?

+0

记事本++和它们错误的标签:编码的名称是ASCII,而不是ANSI。 – Gumbo 2009-10-01 10:23:00

回答

7

这可能是Byte Order Mark。您可以在记事本++中使用'无BOM中的UTF-8编码'模式。

This question有关于在PHP中使用UTF-8的一些有用信息。您也会(如您所建议的)需要在标题或元标记中设置内容类型,以便浏览器正确解释它。

0

听起来好像您正在使用带有BOM(其中有issues)的UTF-8,并且您的服务器未能正确地specify the encoding

IIRC,BOM在记事本中是不可避免的,所以我建议使用更好的编辑器。我自己喜欢Komodo Edit

(还要注意,一个Doctype在HTML文件要求)

+0

在默认编辑器编码中,您在Komodo Edit中的设置是什么? – shin 2009-10-01 10:57:54

+0

它被设置为UTF-8 – Quentin 2009-10-01 11:07:43

0

当汤姆黑格说,它可能是BOM。对于UTF-8编码没有必要,所以您可以放心地将它们排除在外。

但是我应该指出,PHP对UTF-8的支持非常薄弱 - 为颠簸行程做好准备。查看this page了解可能遇到的问题的某些详细信息。