【问题标题】:encoding - displaying EURO symbol and more - UTF-8 charset编码 - 显示欧元符号等 - UTF-8 字符集
【发布时间】:2011-08-03 16:57:53
【问题描述】:

这让我发疯了。我的表格中有一个包含所有货币符号的列,我试图显示它们但无济于事。

我的页面设置为utf8

<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();   
    }
}

【问题讨论】:

  • 你从哪里得到符号?数据库?
  • 是的,我是,col 设置为 utf8_general_ci

标签: php encoding symbols


【解决方案1】:

它可以帮助您使用 Notepad++ 将您的文档转换为 UTF-8(无 BOM)。

如果您使用数据库来获取数据,请在所有其他查询之前执行以下查询:

mysql_query("SET NAMES 'UTF8'");

【讨论】:

  • 请您再解释一下,我目前使用**添加到原始问题**
  • 哈哈!谢谢你,添加到我的实例中,它现在可以工作了(添加到问题中)
  • 是的,建立我自己的,在您提到上述内容后阅读一些文档并确定需要去哪里。欢呼
【解决方案2】:

您是否使用 PDO 进行数据库连接?如果是,请尝试使用:

PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'

作为创建连接时的一个选项。

参见:http://www.php.net/manual/de/pdo.construct.php -> $driver_options

【讨论】:

    猜你喜欢
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2015-01-17
    相关资源
    最近更新 更多