簡體   English   中英

字符編碼問題-文本文件到數據庫

[英]Character Encoding Issues — Text File to Database

我有一堆寫入Linux服務器的文本文件,需要將它們拉入數據庫。 我正在使用file_get_contents()來獲取文件的內容。 文本文件中包含許多特殊字符(例如:àáâãäåæçèéêëìííïïòóôõöøøúúûüü),但它們並沒有正確進入數據庫(這專門進入了Wordpress網站)。

我檢查或嘗試過的事情:

  • 我要將數據放入的數據庫是utf8_general_ci
  • 我使用了mb_detect_encoding()來查看文本文件是什么。 它認為它們是ISO-8859-1
  • 我使用文件-bi檢查SSH中的字符集; 它認為它們是純文本/無字符集
  • 我試過utf8_encode()
  • 我已經嘗試過mb_convert_encoding()
  • 我已經嘗試過iconv()
  • 我試過了htmlentities()
  • 確認WP網站上的元標記已設置為輸出utf-8
  • 服務器的字符編碼(在php.ini中設置)設置為ISO-8859-1

根據我的嘗試,我會得到一個A,上面有波浪形的小點,或更常見的是,它的矩形看起來像是00 86。

我很沮喪-如果有人有其他建議,我會很高興!

確保(按重要性順序):

  1. 您的數據是UTF-8編碼的(如果適用,包括您的數據庫)。
  2. 您的服務器正在發送utf-8標頭。
  3. 您的HTML具有utf-8元標記。

數字1和2是最常見的問題。 (特別是數字2-如果您的服務器發送的標頭指定了不同的編碼,即使meta標簽顯示“ utf-8”,瀏覽器也會嘗試使用該編碼。)

試試mysql_set_encoding('utf-8'); 對於所有數據庫連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM