2011-06-30 45 views
2

我遇到了解析來自不同訂閱源的數據的問題,其中一些使用英語,其他使用意大利語,其他使用西班牙語。我使用PHP腳本解析並將解析的數據保存到我的MySQL數據庫中。關於解析多語言訂閱源的最佳做法

的問題是,當我分析的項目,包含像「非普通」字符:「Strage迪維亞雷焦彪」當我看着我的數據庫中的短語被儲存在這樣說:「Strage迪維亞雷焦Più「。

我的數據庫可以使用那種字符,因爲當我輸入manualy它工作正常,在原來的飼料(rss文件)的短語也很好,我認爲是我的PHP服務器誰改變了這封信。我該如何解決這個問題?謝謝!

回答

2

確保數據庫使用UTF-8(像你說的它)的PHP腳本有其內在的編碼設置爲UTF-8,您可以用iconv_set_encoding實現。如果您正在從HTTP請求讀取數據,那麼只要請求正確標記自己的編碼即可。

-2

你需要實現,節省了到MySQL前的是:

http://php.net/manual/en/function.htmlentities.php

檢查的詳細信息,這些不同的線程

我發現令人難以置信的是,這個問題在過去24小時內已經收到-2而沒有任何評論。

從問題貼:

我使用的是PHP腳本解析和分析數據保存到我的MySQL數據庫。

我認爲是誰在改變信我的PHP服務器。我該如何解決這個問題?謝謝!

到目前爲止所發佈的答案與MySQL的編碼和設置有關。問這個問題的人已明確表示,他可以手動插入特殊字符,並沒有問題:

我的數據庫可以使用那種角色,因爲當我輸入的是manualy它工作正常

我答案是幫助他將這些字符轉換成一個html實體,這個實體將規避他對RSS提要的回答並回答發佈的問題。

0

看起來像輸入數據是UTF-8,但數據庫表的字符集/整理 - ASCII。我會建議到處都有UTF-8。