2011-04-12 120 views
0

這是驅使我瘋狂。我的桌子上有一列有所有貨幣符號的列,我正試圖顯示它們,但無濟於事。編碼 - 顯示歐元符號和更多 - UTF-8字符集

我的網頁設置爲UTF-8

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

我已經試過mb_convert_encoding,函數utf8_encode但不能似乎S =使其正常顯示。

目前,我有

function isUTF8($str) { 
    if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32")) { 
     return true; 
    } else { 
     return false; 
    } 
} 
echo (isUTF8($ar['currrency_symbol']) ? $ar['currrency_symbol'] : mb_convert_encoding($ar['currrency_symbol'], 'UTF-8')); 

這也不起作用。

任何幫助,非常感謝。

編輯

function get_currency_symbol($code) { 
$con = Database::getInstance(); 
    $re = $con->query("SELECT * FROM `countryinfo` WHERE currency_code = '$code'"); 
    if($re->num_rows == 0) { 
     return '&pound;'; 
    } 
    $ar = $re->fetch_assoc(); 
    echo (isUTF8($ar['currrency_symbol']) ? $ar['currrency_symbol'] : mb_convert_encoding($ar['currrency_symbol'], 'UTF-8')); 
    //return iconv(mb_detect_encoding($ar['currrency_symbol']), 'UTF-8//TRANSLIT', $ar['currrency_symbol']); 
} 

///

abstract class Database { 
    private static $instance = NULL; 
    private function __clone() {} 
    public function __construct() {} 
    public static function getInstance() { 
     if (NULL === self::$instance) { 
      self::$instance = new MySQLi(DBSERVER, DBUSER, DBPASS, DBNAME); 
     } 
     self::$instance->query("SET NAMES 'utf8'"); 
     return self::$instance; 
    } 
    public function kill_con() { 
     self::$instance->close(); 
    } 
} 
+0

你從哪裏得到的符號? D B? – Czechnology 2011-04-12 08:51:40

+0

是的,我是,col設置爲utf8_general_ci – 2011-04-12 09:05:34

回答

3

它可以幫助你的文檔轉換爲UTF-8(無BOM)。

如果你正在使用的數據庫獲取數據,其他所有查詢之前執行以下查詢:

mysql_query("SET NAMES 'UTF8'"); 
+0

請問您能解釋一下嗎,我現在用**添加到原始問題** – 2011-04-12 09:01:37

+0

一哈!你添加到我的實例,它現在可以工作(添加到問題) – 2011-04-12 09:17:46

+0

是啊建立我自己的,讀了幾個文件後,你提到了上述和fugured出去它需要去的地方。乾杯 – 2011-04-12 09:19:58

1

你使用PDO爲你的數據庫連接?如果是,請嘗試使用:

PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' 

作爲創建連接時的選項。

參見:http://www.php.net/manual/de/pdo.construct.php - 例如使用記事本++> $ driver_options