Laravel本地化为德语和特殊字母

时间:2015-02-11 14:23:02

标签: laravel character-encoding localization blade

我的Laravel应用程序中有一些德语特殊字母(ö,ü...)的问题。

我的编码设置为UTF-8。

使用数据库中的内容(utf8_general_ci),一切正常。当我将一些文本硬编码到Blade视图文件时,这也没关系。但是,我正在使用带有关联数组的本地化文件(/app/lang/de/myFile.php)。

该数组中的德语字符显示为 。有什么奇怪的,当我在Blade中var_dump(trans('myFile.key'))时,特殊字符起作用,但是当echo trans('myFile.key')时,就会出现问号。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

好的,几个小时后:)我成功了!重点是以UTF-8编码保存本地化文件。 Sublime Text默认将其保存为Windows-1250。

答案 1 :(得分:1)

我的一个项目遇到了类似的问题;不确定它是否相关。不同的Web浏览器以不同方式处理区域设置一旦进入Firefox £,除非您将浏览器的区域设置更改为英国,否则无法正常工作。但是,&163;普遍适用。 Opera似乎全面工作,但IE和Firefox在尝试使用不属于浏览器所在语言环境的字符或符号时会有奇怪的行为。

我要尝试的第一件事是change your browser's language,看看是否能解决问题。如果是这样,那么问题将在于浏览器如何解释返回的内容。如果这样可以解决这个问题,那么对于德语用户来说这很有可能不会成为问题因为他们的浏览器(应该)已经支持该语言了。

如果没有,则问题可能在于服务器上文件的格式化。如果文件作为ANSI存储在Web服务器上,则可以取代输出。由于NFS安装和一些Windows用户/编辑器,我们也遇到了这个问题。我建议的最安全的方法是将ö和ü更改为&246;&252;,但我可以理解这会变得乏味。