2013-02-07 21 views
1

我已經經歷了堆棧溢出的幾個類似的問題,他們都沒有給出結果。 在我的簡單形式,我希望讓人們張貼串像"Pagé Caiçara"PHP表單字符集

檢查我的HTML的頭,我有以下元:<meta charset="UTF-8">

我的表單標籤

<form id="contato-form" action="some_file.php" method='POST' accept-charset='UTF-8'> 

而且我也有一個隱藏輸入強制utf編碼:

<input name="utf8" type="hidden" value="&#x2713;" /> 

但是他們都沒有似乎工作,如果嘗試提交「PagéCaiçara」和t下襬檢查我的$ _ POST給我:

echo print_r($_POST); 

輸出:

陣列([諾姆] =>帕加©Caiçara[Empresa與] =>公司[郵件] =>我的@ mail.com.br [站點] => nenhum.com.br [telefone] => 12 55558349 [mensagem] =>águia德água[UTF8] => AOE「)1

所以...我應該接下來要做什麼?提前致謝。

+3

這只是一個**輸出問題**。請參閱[在Web應用程序中處理Unicode前後](http://kunststube.net/frontback/) – deceze

回答

2

回答你的問題,取決於這些sitiation您使用的輸出:在PHP

  1. 過程並返回結果/打印html頁面

    如果處理給定的數據和打印結果在帶有<meta charset="utf-8">的html頁面中,輸出將正確顯示。在PHP和打印爲純文本

    如果你要打印像print_r()簡單的輸出在你開始時加入這一行

  2. 過程腳本:header('Content-Type: text/plain; charset=utf-8');

  3. 過程PHP並寫入數據庫

    如果您已經設置了您R數據庫/表字符集和校對規則,以正確的價值觀(UTF-8)的結果將在databese正確插入(請確保您在使用DB

mysql_query("SET NAMES 'utf8'", $db_link);

操作之前執行這些行

mysql_query("SET CHARACTER SET utf8", $db_link);

mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $db_link);