2014-11-17 90 views
-1

我正在將數據從CSV文件導入數據庫。在CSV文件中,有很多奇怪的字符,如(é,ë,...)需要轉換爲& eacute,& euml以存儲在數據庫中。現在所有奇怪的字符都被轉換爲問號。但是我用什麼函數來轉換它們。 HTML_ENTITIES,utf8_decode,...?PHP:防止編碼é到?

我使用UTF8

+0

使用'htmlspecialchars()'功能的PHP – vaso123

+0

http://stackoverflow.com/questions/16231635/character-encoding-problems-with-reading-a-csv-file –

回答

1

嗯......這htmlentities($string, ENT_COMPAT | ENT_HTML401, 'UTF-8');。但這種做法是錯誤的。

清單:

  1. 文件的數據是UTF-8
  2. 當您使用的字符串常量字符串函數(如str_replace('e', 'é', $foo)),該文件是UTF-8
  3. 您所使用的數據庫連接允許運輸UTF-8編碼字符併爲此配置(針對MySQL的SET NAMES 'utf8'
  4. Content-Type頁面的標題(或元標記)告訴瀏覽器期望UTF-8