Fan*_*nny 3 php csv zend-framework utf-8
我实际上正在使用zend框架编写一个用PHP编码的Web应用程序.我需要翻译法语和英语的每一页,所以我使用csv文件来完成它.
我的问题是,当一个单词以É或À等重音字母开头时,该字母就会消失,但显示的是其余部分.
例如,如果我的csv文件包含Écriture,则显示criture.但如果我有exécution,它显示exécution没有任何问题.
每当我想在我的视图中显示文本时,我只需要调用<?php echo $this->translate('line to call in csv'); ?> 并显示我的文本.
就像我说的,我的应用程序是用UTF-8编码的,我对特殊字符没有任何问题,除非它们是第一个.我用谷歌搜索但现在找不到任何东西.
谢谢你的帮助!
UPDATE
我忘了说当我在zend浏览器中执行我的应用程序来调试它时,一切都很好,我的É显示.它只在像IE或FF这样的浏览器中才有问题.
更新#2
我刚刚发现另一篇关于fgetcsv的帖子,看起来我用来翻译我的csv文件的函数是使用fgetcsv()...这可能是问题吗?如果是,我该如何解决?它的编码与Zend Translate库中的编码一样,我不确定我是否想要开始改变那里的东西......
更新#3
我继续我的研究,在编码UTF-8时我在PHP中发现了问题.但是Zend Framework默认编码为UTF-8,所以我确信有一种方法可以使这个工作.我仍在搜索,但我希望有人有解决方案!
小智 5
我遇到了同样的问题,我尝试了AJ的解决方案并且工作正常: 在csv中缺少字段的第一个字符
问题似乎是fgetcsv()使用区域设置,只需使用
setlocale(LC_ALL, 'en_US.UTF-8');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |