2015-06-23 45 views
2

我有問題從數據庫獲取記錄時,我在SQL查詢中使用德語字母的單詞時,當我在phpAdmin中使用它時,結果爲88行,當我要執行同樣的查詢,但在PHP代碼中,它給了我bool(false)。在db中我使用utf8_bin。哪裏不對?PHP和SQL查詢編碼UTF 8德語字母

$getPapers = mysql_query("SELECT * FROM swt_pubs WHERE column LIKE '%Aß%' ORDER BY id DESC LIMIT 10"); 
echo $getPapers; 
while ($papers = mysql_fetch_object($getPapers)) { 
    echo "string"; 
    echo convertToUTF8($papers->content); 
} 
var_dump($papers);?> 

結果我得到:

資源ID#6

布爾(假)

編輯1: 我頁面的這個編碼:

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

編輯2:

function convertToUTF8 ($string) 
     { 
     return str_replace ('Ä', '&#196;', 
       str_replace ('„', '&#132;', 
       str_replace ('「', '&#147;', 
       str_replace ('–', '&#150;', 
       str_replace ('­', '&#173;', 
        str_replace ('È', '&#200;', 
         str_replace ('É', '&#201;', 
          str_replace ('Ö', '&#214;', 
           str_replace ('Ü', '&#220;', 
            str_replace ('ß', '&#223;', 
             str_replace ('ä', '&#228;', 
              str_replace ('è', '&#232;', 
               str_replace ('é', '&#233;', 
                str_replace ('ö', '&#246;', 
       str_replace ('ü', '&#252;', 
        str_replace ('@', '&#64;', 
         str_replace ('Ã?', '&#220;', 
          str_replace ('\"', '"', 
          str_replace ("\'","'", 
           ersetzeBbCode ($string) 
            )) 
           )) 
          ) 
         ) 
                   ) 
                  ) 
                 ) 
                ) 
               ) 
              ) 
             ) 
            ) 
           ) 
          ) 
      )) 
      ); 
     } 
+1

是你的PHP源文件也被編碼在UTF8或不?如果不是,MyQSL執行的查詢可能不是您在源代碼中編寫的內容。 – Mat

+1

你正在導入一個庫,或者你有一個叫做'convertToUTF8'的函數嗎?如果我不得不下賭注,那麼這個函數或'$ papers-> content'就是你的問題。 –

+0

'convertToUTF8()'不是PHP函數,所以向我們展示該函數的代碼 – RiggsFolly

回答

1

使用UFT8-一般-CI能夠解決您的問題

+0

我已經改變了它,但它沒有幫助 – Beacze

+0

現在我看到它的幫助。在那之前,我把所有的AY都改成了ß,而且根本沒有看到這封信。 – Beacze

+0

看到我的另一個答案,幫助你上傳sql文件unicode支持 –

1

一個有趣的事情是大多數時候我們上傳大文件使用SQL服務器,但它的文件有任何Unicode字符那麼我們可以用任何語言獲得它,但unicode字不能工作。解決這個問題時,你上傳的SQL文件在你的SQL文件中添加此生:

SET NAMES utf8;

那麼你所有的問題輕鬆解決