2014-10-26 104 views
0

我有一個帶有一些特殊字符,輸入表單,一些php頁面的mysql數據庫。php文件字​​符編碼,mysql數據庫字符編碼,特殊字符

  • 在我的第一個PHP頁面(requestPage)我有輸入表單。

  • 此頁面(通過GET)發送一個參數到另一個php頁面(ResultsPage)。

  • 最後,這個php頁面(ResultsPage)發送帶有參數的查詢到dbms並顯示結果。字符集= UTF-8

;


RequestPage通過

  • META HTTP-當量= 「內容類型」 CONTENT =「text/html的編碼爲UTF-8

    結果頁面編碼爲utf-8到

    • meta http -equiv =「Content-Type」content =「text/html; charset = utf-8
    • header('Content-type:text/html; charset = utf-8');

    數據庫及其表格編碼爲utf8_general_ci。現在


    ,例如:

    • 如果我把RequestPage單詞「坎」的形式,在resultsPage執行查詢並顯示我的詞「坎圖數據庫的每個條目「對我來說,它確定。
    • 如果我在RequestPage中輸入單詞「Cantù」,resultsPage會執行查詢並顯示我沒有行,但我想查看帶有單詞「Cantù」的行!

    有什麼建議嗎?

+0

此外:在ResultsPage我已經打印了我試圖執行的查詢,並將它放到了phpMyAdmin中,它可以正常工作。使用「Cantù」,phpmyadmin顯示正確的行(包含單詞「Cantù」的行)。 – 2014-10-26 15:12:40

回答

0

我已經解決了這個問題,這個字符串在PHP resultsPage文件補充說:

mysql_query("SET character_set_results = 'utf8', character_set_client='utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $connection); 

顯然,它有這個字符串後要插入的:

$connection = mysql_connect($servername,$username,$dbpassword);