2010-07-23 61 views
0

我拉一些数据从一个HTML页面的产品列表和一些文字,它看起来是这样的:剔除特殊字符

ORGANICA“¢

在HTML页面时,我看看同样的文字,我可以看到它后面应该会看到有机商标TM(商标)符号。为什么它看起来像上面那样!

我的主要问题是如何摆脱TM,@和版权符号,所以我只剩下一个干净的产品名称?

感谢所有的帮助

回答

1

您的页面声明了错误的字符集(或者根本没有声明任何字符集)。

查看HTML源文件,看看是否在head节还有像<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

标签。如果没有这样的标签,或者标签是有,但在charset位丢失,你还没有宣布一个字符组。如果标签存在并且存在charset位,则声明的字符集是错误的。看看你给出的具体例子,它看起来像文本可能是UTF-8,但显示为拉丁-1。

+0

网络服务器本身也可以在HTTP'Content-Type'标签中声明字符集(因此为什么是'http-equiv =“Content-Type”') – Powerlord 2010-07-23 15:12:03

0

这是一个编码问题;您的html页面编码和输出设备编码之间存在差距。

你必须理顺这一点。最好的方式是使用utf8创建工作环境,并将所有外部数据转换为utf8。

+0

这就是我一开始想到的。我其实尝试了一个utf_decode,最后几个字符变成了一个'?'。也许我可以依靠这个,只是去掉问号? – Abs 2010-07-23 15:10:35

+0

你不需要解码,但编码。解码只会让你从utf8转到unicode(例如)。 – 2010-07-23 15:21:43