【发布时间】:2015-11-01 23:36:15
【问题描述】:
utf8_encode() 函数有问题。
这是一个例子
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
header("Content-Type: text/html; charset=utf-8");
$str = "Şşİğ";
echo utf8_encode($str);
?>
我看到的输出是
SsIg(第三个是大写的 i)
如果我不使用 utf8_encode() 这就是我得到的
阿阿阿°阿
因此,这对于某些语言实际上并不适用。它只是让它有点意义,而不是让它正确。
谢谢
【问题讨论】:
-
那里可能有一个额外的字节无法转换。在这种情况下 utf-8 只是忽略它。检查该功能的文档,当某些内容无法转换为 utf8 时,您应该能够自定义被忽略或强制的内容
-
PHP文件的编码是什么?
-
@KarolyHorvath 它也是 UTF-8。公鸡,我试试,谢谢。
-
如果是utf8,为什么要编码成utf8?我可以重现这种行为并取出 utf8_encode 解决它。该功能适用于...
Encodes an ISO-8859-1 string to UTF-8。 -
有趣...不过,您应该在任何内容之前发送
header("Content-Type: text/html; charset=utf-8");。
标签: php