得到�何时使用 gettext 和 smarty 处理特殊字符
我在 gettext 中使用 $encoding = 'utf-8';
,并在我的 html 代码中设置了 。我还在我的 .po 文件中设置了 utf-8,但当我写 æøå 时,我仍然得到 � !有什么问题吗?
I am using $encoding = 'utf-8';
in gettext and in my html code i have set <meta charset="utf-8">
. I have also set utf-8 in my .po files, but I still get � when I write æøå! What can be wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
让我们看看您提到的值在字节级别的情况如何。
我复制了您问题中的
æøå
和您标题中的ï¿
�
的原因是我必须使用 Windows 控制台应用程序来获取您问题的标题,其代码页是 Windows 1252(从浏览器复制给我Unicode 字符“替换字符”(U+FFFD)
) 。在以 UTF-8 编码的脚本中,给出:
因此字节表示匹配。这里的问题是,当您编写
æøå
时:Let's see how the values you mention are at the byte level.
I copied the
æøå
from your question and�
from your title. The reason for�
is that I had to use a Windows console application to fetch the title of your question and its codepage was Windows 1252 (copying from the browser gave meUnicode Character 'REPLACEMENT CHARACTER' (U+FFFD)
).In a script encoded in UTF-8, this gives:
So the byte representation matches. The problem here is that when you write
æøå
either:您需要设置这个
bind_textdomain_codeset($domain, "UTF-8");
否则你会得到 � 字符
You need to set this
bind_textdomain_codeset($domain, "UTF-8");
Otherwise you will get the � character