在我的数据库中,用户以日文字符存储数据。当我查询这些数据时,我没有得到日文字符的数据,但我得到了入力ãªã—
。我不知道如何解决这个问题。以下是我的数据库配置。
Yii::$app->components = [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=my_database',
'username' => '****',
'password' => '****',
'charset' => 'utf8',
],
];
如果我删除了'charset' => 'utf8',
我得到???????
而不是上面的奇怪字符或日文字符。我使用Yii框架2和ActiveRecord。有谁知道任何解决方案?
答案 0 :(得分:0)
我愿意打赌你的数据库或你的表有错误的字符集/校对。 检查数据库:
SELECT * FROM information_schema.SCHEMATA
检查表格:
SHOW FULL COLUMNS FROM table_name;
可以转换现有数据(例如从latin1转换为utf8),但不是超级简单。我会说你只需更改默认字符集“How to make MySQL handle UTF-8 properly”并创建新的数据库/表而不是转换现有数据就会轻松得多。