2011-04-12 98 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