【问题标题】:How can I change DB charset in Yii DB management system如何在 Yii 数据库管理系统中更改数据库字符集
【发布时间】:2014-11-20 05:57:18
【问题描述】:

谁能告诉我如何设置 DB 字符集,比如从 utf-8 到 latin2 或类似的东西?

试图用谷歌搜索,但没有找到任何帮助...... 另外,我尝试了this 方法,但由于某种原因,这对我不起作用...

P.S:我也尝试将它从'charset'下的 main.php 文件更改为默认为 utf-8 但它仍然不起作用......我忘了提及。

L.E:正如你所问,这是 db 设置:

'db' => array(
        'connectionString' => 'mysql:host=localhost;dbname=dbname',
        'emulatePrepare' => true,
        'username' => 'user',
        'password' => 'pass',
        'charset' => 'latin2',
        'initSQLs'=>'SET NAMES latin2;'
        'tablePrefix' => '',
        //'enableParamLogging' => true,
        //'enableProfiling'=>true,
    ),

有什么想法吗?谢谢...

【问题讨论】:

  • 如果您可以 c&p 与数据库相关的配置部分,这将非常有帮助。
  • 你在db 数组中的main.php 中尝试过'initSQLs'=>'SET NAMES utf8 ;', 吗?
  • 我现在有了,但它仍然无法正常工作......我想让它成为 latin2 而不是 utf-8。正如我所提到的,它默认为 utf-8

标签: php mysql yii


【解决方案1】:

你要找的是'charset=utf8mb4'

这会导致

'db' => array(
        'connectionString' => 'mysql:host=localhost;dbname=dbname',
        'emulatePrepare' => true,
        'username' => 'user',
        'password' => 'pass',
        'charset' => 'utf8mb4',
        'initSQLs'=>'SET NAMES latin2;'
        'tablePrefix' => '',
        //'enableParamLogging' => true,
        //'enableProfiling'=>true,
    ),

【讨论】:

  • stackoverflow.com/questions/11533448/… 大多数人选择 latin2 而不是 utf-8,因为 utf8 不包含所有字符,使用 utf8mb4(它是 utf8 的更好版本,有点像 utf32)你有你需要的一切对于拉丁语2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多