2011-05-23 34 views
-1

海蘭UTF-8!問題在PHP

我有一個在PHP的輸出與變音符號的一個問題。 我的代碼:

<?php 

echo"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" 
    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> 
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"> 
<head> 
    <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" /> 
    <title>Tabs</title> 
    <style type=\"text/css\" media=\"screen\"> "; 


echo "<script src=\"http://code.jquery.com/jquery-1.6.1.min.js\" type=\"text/javascript\" charset=\"utf-8\"></script> 
    <script type=\"text/javascript\" charset=\"utf-8\"> 
     $(function() { 
      var tabContainers = $('div.tabs > div'); 
      tabContainers.hide().filter(':first').show(); 

      $('div.tabs ul.tabNavigation a').click(function() { 
       tabContainers.hide(); 
       tabContainers.filter(this.hash).show(); 
       $('div.tabs ul.tabNavigation a').removeClass('selected'); 
       $(this).addClass('selected'); 
       return false; 
      }).filter(':first').click(); 
     }); 
    </script> 
</head> 
<body id=\"page\">"; 


echo "<div class=\"tabs\"> 
    <!-- tabs --> 
    <ul class=\"tabNavigation\"> 
    <li><a href=\"#user\">User</a></li> 
    <li><a href=\"#recipe\">Recipe</a></li> 
    <li><a href=\"#recipe_pos\">Recipe_Pos</a></li> 
    <li><a href=\"#ingred\">Ingredients</a></li> 
    <li><a href=\"#ingred_pos\">Ingredients_Pos</a></li> 
    </ul> 

    <!-- tab containers --> 
    <div id=\"user\"> 
    <p>Lorem ipsum dolor sit amet.</p> 
    </div> 
    <div id=\"recipe\">"; 


    include 'config.php'; 
    include 'opendb.php'; 
    $result = mysql_query("SELECT * FROM RECIPES '"); 
    while($row = mysql_fetch_array($result)) 
     { 
     echo "<p id=\"boarder\">"; 
     echo "<span>"; 
     echo "<b>" . $row['title'] . "</b><br/>"; 
     echo "<br />"; 
     echo $row['text']; 
     echo "<br /><br />"; 
     echo mysql_error(); 
     echo "</span>"; 
     echo "</p>"; 
     } 
    include 'closedb.php'; 

?> 

輸出:

洋蔥,大蒜和剝離Mhre 切成細末骰子。給 碎牛肉的鍋和攪拌下,以自己的脂肪 慢煎 熱量。鹽和胡椒 。加入洋蔥,大蒜,胡蘿蔔,煮 短。 肉湯ablschen,番茄醬,牛至unterrhren 該gestckelten番茄和番茄醬 。讓它沸騰約40分鐘 。庫克意大利麪條在 鹽水,abgieen阻止 並與醬 服務。

+2

你知道你可以打出來的' deceze 2011-05-23 08:45:11

+1

這是一個字符編碼的麻煩。確保您的數據庫字符集,連接字符集和輸出編碼匹配。 – 2011-05-23 08:50:11

+0

以及它比呼應的JavaScript – shevski 2011-05-23 08:50:15

回答

1

這些字符看起來像無效字符的UTF-8輸出,最有可能的ISO 8859-1分貝的內容。

你的數據庫連接可能是ISO-8859-1編碼,即使數據是UTF-8。

通過連接後做下面的查詢修復它。對於MySQL 5.0.7 <:

mysql_query("SET NAMES utf8;"); 

較新的MySQL:

mysql_set_charset("utf8"); 
-2

刪除所有的PHP和呼應出你的代碼,並簡單類型一個普通的HTML文件,我不明白你爲什麼要在這種情況下使用的回聲。只有區域確實需要在PHP代碼的一些計算的客人,像while循環

UPDATE

也許你需要一個不同的字符編碼,只是選擇了一個沒有在你的數據庫匹配的數據和您這兩者都可以在你的HTML罰款指定它

元的content-type =「的編碼正確,」

或在頭PHP函數

+0

這不是我的問題。這只是一個test-php.How如何解決UTF-8的問題 – user547995 2011-05-23 08:49:32

+4

這不是他的問題的解決方案。他有一個字符編碼問題 – 2011-05-23 08:49:34

0

輸出看起來像我f起數據庫讀取你的數據不是UTF-8格式。爲了測試,嘗試一些其他的編碼像ISO-8859-1。如果正確地顯示文本,則故障的原因是不是UTF-8的。