2011-02-17 50 views
0

我使用PHP/mySQL組合,有時會看到用某些名字輸入的外來字符。我看到它們在mySQL中正確存儲,但是當它們在瀏覽器中輸出時會有一些垃圾。 如何在我的網站上支持這些內容?我不是想全力支持,只是一些基本的。支持外來字符

下例:

é 
+1

什麼是您在頁面上使用的字符集? – 2011-02-17 13:58:45

+0

不要忘記在查詢前詢問SET NAMES utf8 – dynamic 2011-02-17 14:12:13

回答

3

你必須確保你正確認識

  • 形式與
  • PHP中的編碼移交(這是殘暴)提交的字符集
  • MySQL在數據庫中使用的編碼
  • 您的編碼刪除您的文檔中的瀏覽器

如果這些步驟中的任何一個出現混亂,您在某個時候會遇到問題。

我建議你使用utf8來控制你所有的東西。

FAQ for handling encoding in PHP

0

我碰到了同樣的問題,對我來說,它原來是字符編碼我用的MySQL。 要查看您使用的是你的數據庫是什麼字符集和校對嘗試發出以下聲明:

SELECT TABLE_SCHEMA, TABLE_NAME, CHARACTER_SET_NAME, TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
INNER JOIN INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY 
    ON (TABLES.TABLE_COLLATION = COLLATION_CHARACTER_SET_APPLICABILITY.COLLATION_NAME) 
WHERE TABLE_SCHEMA NOT IN ('mysql', 'INFORMATION_SCHEMA') 

如果他們不UTF8或類似的,你應該挖得更深一些到是否不是你」重新使用支持這些外來字符。

我從this文章中找到該語句,您可能會發現它有幫助。另請參閱MySQL’s character sets and collations demystified瞭解有關該主題的相當全面的背景。