Symfony2 の中国語サポートについてはどうですか?
黄舟
黄舟 2017-05-16 16:46:19
0
1
321

元々 ZendFramework2 を使いたかったのですが、ZF2 の中国語のサポートが貧弱すぎます。Symfony2 では頻繁に文字化けが発生するのか知りたいです。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(1)
阿神

Symfony 2的中文支持很好,实际上也没有什么特殊之处,如果能遵循最佳实践,不会出现任何问题。

首先是PHP的charset,SF2默认采用的就是UTF-8:

  • 2.0分支的默认配置(/app/config/config.yml)是UTF-8。
  • 2.1分支索性去掉了这个配置项,如果不打算采用UTF-8,需要在AppKernel里重载getCharset()方法来指定。

然后是各类数据源的字符集,如关系型数据库,NoSQL,外部数据文件等:

  • 如果用Doctrine或者Propel等第三方库,都有相应的参数,Doctrine默认是UTF-8。
  • 如果自己做数据接口封装,拿MySQL来举例,建表需要确认数据库字符集为UTF-8,创建连接时也需要指定字符集;外部文件如csv等,需要自己做转换后进行操作;较新的NoSQL一般都默认用UTF-8,所以不用操心。

视图层:

  • 如果你把语言项全部写在模板里,需要保证模板文件的编码(也可以视作外部数据文件)是正确的。
  • 如果输出HTML或其他标记语言内容,还需要确保在语义上也指定了正确的字符集(如HTML的charset)。
  • 如果用SF2自带的Translations模块(可以用yaml,xml或gettext),需要指定正确的locale。

总结地说,就是要确保所有的代码文件和运行参数都是相同的编码(UTF-8)。

至于确保代码文件都是正确的字符集,用VCS的hook可以很好的处理,比如在提交文件时检查文件的字符集(pre-commit),如果不正确,则拒绝提交。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!