2011-12-12 54 views
-3

我在我的描述像A A€等幾個符號。我能做些什麼嗎?或者如果它在數據庫中,我現在什麼都不能做?有像一個符號等的數據庫,怎麼辦?

+4

這些是完全沒有問題的符號。 ''用在法語中;歐元是我們歐洲共同貨幣的象徵。有什麼問題? (我想我知道你的問題是什麼,但*請*更好地解釋它) –

回答

1

這有點取決於什麼的問題實際上是...

如果它是這些字符是應該在那裏(如「晨報」西班牙語),那麼你需要確保一切都在UTF-8 ...最好的辦法是:

1:檢查數據庫表在 「UTF-8」 編碼(如果不將它們轉換爲UTF-8)

2:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here 

3:作爲馬丁指出的那樣,保證數據庫連接器的UTF-8使用類似是保證該文件是UTF-8(可以在頂部加入一個報頭)

<?php header('Content-type:text/html;charset=utf-8'); ?> 

4:爲了安全起見,添加它作爲一個meta標籤以及

<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 

無論其

它很可能你有哪裏像ISO-8859-1已經玩弄於數據庫中的某些字符達夫UTF-8,很糟糕。在這種情況下,你會發現類似的事情£,你真正想要的是£(因爲UTF-8字符包含除ISO-8859-1更多的數據,這些額外的數據,如果你」成爲一個額外的字符不要小心)。

在這種情況下,您最好的選擇是清理數據庫(對於常見的「錯誤」,您可能需要執行類似於UPDATE table SET field = REPLACE(field, '£', '£')的操作),然後將整個kaboodle轉換爲UTF-8(如上所述)以避免問題重複發生。

0

爲了避免這樣的字符,

  1. 設置表單中的字符集。 HTML表單具有字符集屬性和值。您可以使用UTF-8
  2. 設置字符集的文件,通過PHP或使用META標籤(但在輸出這隻作品)
  3. 設置字符集爲db表
  4. 得到一個類/函數做的ASCII字符轉換爲你的數據過濾的一部分,逃逸
相關問題