2010-07-27 61 views
0

当我显示用户提交的文本时,我总是收到这些奇怪的文本字符。如下面的例子。有没有一种方法,我可以狐狸使用PHP,CSS或这样的字符显示正确吗?网页文本显示问题

这是问题文本。

Problems of �real fonts� on the web. The one line summary: 
different browsers and different platforms do �hinting� 

这是我的元标记。

<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
+0

你发什么?你应该在那里指定内容类型,这可能会解决它。 – 2010-07-27 06:34:01

回答

2

这是一个编码问题。确保您将正确的编码发送到浏览器。如果是UTF-8,你会做这样的:

header("Content-type: text/html; charset=utf-8"); 

此外,请确保您使用在整个系统中相同的编码存储内容。将您的数据库表设置为utf8。如果您使用的是MySQL,请在连接时运行SET NAMES utf8查询以确保您使用的是UTF-8。

当您突然切换编码时会出现这些奇怪的字符。

此外,PHP中的一些函数采用$charset参数(例如htmlentities())。确保你将正确的字符集传递给那个。

为了确保PHP能够正确处理您的字符集在所有情况下,您可以设置default_charsetutf-8(在php.ini或使用ini_set())。

+0

但我已经使用元标记'' – text 2010-07-27 06:37:51

+2

@text:这不一定就够了。如果您的网络服务器发送了正确的标题,那么将优先于您的''标记。 PHP默认配置为使用'iso-8859-1'发送它。 – 2010-07-27 06:40:11

0

将页面设置为UTF-8编码。

0

请使用标题栏中的字符集检查。

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
use this below one: 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

或试试这个:

htmlentities($str, ENT_QUOTES); 
0

可能是与文件的编码问题,请检查您的文件被正确编码,保存为“UTF-8无潮”,如果你还正在保存到数据库使用SET NAMES UTF-8