从CakePHP 2.3.2中的PO文件读取时,UTF8编码无法正常工作

时间:2013-06-01 06:54:07

标签: php cakephp utf-8 character-encoding web

我的网站是土耳其语,我在app/Locale/tur/LC_MESSAGES/default.po

中创建了一个区域设置文件

我已经设置了配置Configure :: write('Config.language','tr');在我的App控制器之前的过滤器。它已准备好从预期的po文件。然而,显示的字符变得乱码。示例:Ürünler显示为�r�nler

我在页眉中将字符编码设置为utf8。数据库编码工作正常。如果我在字符串中回显Ürünler它仍然可以正常工作。然而,只有当它来自PO文件时才会产生问题。

我正在CakePHP 2.3.2中开发我的网站。我在Cake做了很多多语言网站,但从未遇到过这个问题。

我的PO文件没问题,因为我甚至尝试过一个在我以前的项目中工作正常的PO文件,它仍然不起作用。

任何帮助表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:0)

将标头设置为utf8是不够的。您还需要将包含utf8字符的文件保存为utf8。所以检查你的文件并确保是这种情况(utf8没有bom!)。

答案 1 :(得分:0)

请确保default.po以Unicode(utf-8)

保存

Dreamweaver CS6 - 打开文件 - >修改 - >页面属性 - >文档编码(选择Unicode(UTF-8)