我有一个奇怪的BOM字符案例(%EF%BB%BF)在Laravel 5.5中加入了本地化函数__($ key)的输出
奇怪的是,在同一个函数的两个后续调用中,一个将产生正确的结果,而另一个将不会..我已经在Notepad ++中打开了所有文件,显示所有字符,没有什么突出的。我确实已经复制第二行(正确)行而粘贴代替第一行(不正确)行 - 结果仍然相同!
我基本上尝试本地化正在使用的路由($ uLng是'fr'或'en') - 并且一些链接指向页面上的特定锚点,我使用__()<本地化/ p>
以下是我的观点代码:
<a class="floatingMenuLink" href="{{ route('public_features.' . $uLng) }}#{{ __('pub_how_it_works.routeIdSecurity') }}">{{ __('global.publicMenuSecurity') }}</a>
<a class="floatingMenuLink" href="{{ route('public_features.' . $uLng) }}#{{ __('pub_how_it_works.routeIdSecurity') }}">{{ __('global.publicMenuSecurity') }}</a>
非常相似吗?
生成的第一个链接是:http://localhost/fonctionnement#%EF%BB%BFsecurite
生成的第二个链接是:http://localhost/fonctionnement#securite
进一步测试表明:
所以..我真的认为问题来自本地化,但我不知道如何解决它..
答案 0 :(得分:0)
经过更多的轰炸和调查之后 - 问题来自语言文件,这些文件以带有BOM的UTF8编码。
我使用Excel维护我的翻译库并有一个小宏来生成'lang'文件 - 并且默认情况下它以UTF8 BOM写入。我使用this solution来解决问题。