目前, config.yaml
中任何 MySQL 数据库配置中存在的charset
参数被传递到已经支持它的MySQL 模块。
我个人觉得这个隐藏功能很有用,因为我经常使用utf8mb4
。
我还确认将collate
键设置为utf8mb4_general_ci
或utf8mb4_unicode_ci
不会将默认的charset
从utf8
更改utf8mb4
。 除非charset
专门设置为utf8mb4
,否则使用utf8mb4_*
归类中的任何一个都会导致配置失败。
据我所知,完全支持此功能只需要进行两项更改:
在src/PuphpetBundle/Resources/config/mysql/defaults.yml
,更改:
databases:
database1:
name: dbname
collate: utf8_general_ci
sql: ~
到:
databases:
database1:
name: dbname
charset: utf8
collate: utf8_general_ci
sql: ~
在src/PuphpetBundle/Resources/views/mysql/database.html.twig
,添加:
<div class="form-group col-xs-12 col-sm-6">
<label for="{{ idBase }}-charset">
DB Charset
</label>
<input type="text" id="{{ idBase }}-charset"
name="{{ nameBase }}[charset]"
placeholder="utf8" class="form-control"
value="{{ database.charset }}" />
</div>
是否有我没有看到的没有得到官方支持的原因? 是否有比我概述的更多的全面实施支持? 您会接受带有这些更改的拉取请求吗?
是否有我没有看到的没有得到官方支持的原因?
puphpet 上的每个模块都有比 GUI 中可见的更多的功能。 但是,添加所有这些选项会很快使 GUI 不堪重负。
我会接受 PR,尤其是对于这样的事情。
@jtreminio感谢您的快速回复! 我应该有时间~今天下午~两周后创建一个公关。
除了添加上述DB Charset
字段外,为了清楚起见,我还将DB Encoding
字段重命名为DB Collation
。
@jtreminio只是确保您看到了我的拉取请求 (#2761)。 如果您想更改任何内容以接受它,请告诉我。
最有用的评论
@jtreminio感谢您的快速回复! 我应该有时间~今天下午~两周后创建一个公关。
除了添加上述
DB Charset
字段外,为了清楚起见,我还将DB Encoding
字段重命名为DB Collation
。