Yii Framework 2.0从数据库中回显日语字符

时间:2015-05-30 02:07:45

标签: php database yii2

在我的数据库中,用户以日文字符存储数据。当我查询这些数据时,我没有得到日文字符的数据,但我得到了入力ãªã—。我不知道如何解决这个问题。以下是我的数据库配置。

Yii::$app->components = [
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=my_database',
        'username' => '****',
        'password' => '****',
        'charset' => 'utf8',
    ],
];

如果我删除了'charset' => 'utf8',我得到???????而不是上面的奇怪字符或日文字符。我使用Yii框架2和ActiveRecord。有谁知道任何解决方案?

1 个答案:

答案 0 :(得分:0)

我愿意打赌你的数据库或你的表有错误的字符集/校对。 检查数据库:

SELECT * FROM information_schema.SCHEMATA

检查表格:

SHOW FULL COLUMNS FROM table_name;

可以转换现有数据(例如从latin1转换为utf8),但不是超级简单。我会说你只需更改默认字符集“How to make MySQL handle UTF-8 properly”并创建新的数据库/表而不是转换现有数据就会轻松得多。