首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编码-显示欧元符号及更多- UTF-8字符集

编码-显示欧元符号及更多- UTF-8字符集
EN

Stack Overflow用户
提问于 2011-04-12 08:48:23
回答 2查看 2.6K关注 0票数 0

这让我发疯了。我的表中有一个列,列上了所有的货币符号,并试图显示它们,但没有用。

我的页面设置为utf8

代码语言:javascript
运行
复制
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我试过mb_convert_encoding,utf8_encode,但似乎无法正确地显示s=get。

现在我已经

代码语言:javascript
运行
复制
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' ) );

也不起作用。

任何帮助都是非常感谢的。

编辑

代码语言:javascript
运行
复制
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'] );
}

///

代码语言:javascript
运行
复制
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();   
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-12 08:55:34

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

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

代码语言:javascript
运行
复制
mysql_query("SET NAMES 'UTF8'");
票数 3
EN

Stack Overflow用户

发布于 2011-04-12 08:53:12

数据库连接使用PDO吗?如果是,请尝试使用:

代码语言:javascript
运行
复制
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5632601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档