2010-07-23 46 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