Questions tagged «iconv»

26
如何从PHP字符串中的字符中删除重音符号?
我试图从PHP字符串中的字符中删除重音符号,作为使该字符串在URL中可用的第一步。 我正在使用以下代码: $input = "Fóø Bår"; setlocale(LC_ALL, "en_US.utf8"); $output = iconv("utf-8", "ascii//TRANSLIT", $input); print($output); 我期望的输出将是这样的: F'oo Bar 但是,不是重音符号被音译,而是被问号代替: F?? B?r 我在网上可以找到的所有内容都表明,设置语言环境将解决此问题,但是我已经这样做了。我已经检查了以下详细信息: 服务器支持我设置的语言环境(包含在产生的列表中locale -a) 服务器的iconv版本(包含在产生的列表中)支持源编码和目标编码(UTF-8和ASCII iconv -l)。 输入字符串是UTF-8编码的(使用PHP mb_check_encoding函数进行了验证,如墨卡托的答案所示) 的调用setlocale成功(返回'en_US.utf8'而不是FALSE) 问题原因: 服务器正在使用错误的iconv实现。它具有glibc版本,而不是必需的libiconv版本。 请注意,某些系统上的iconv功能可能无法按预期工作。在这种情况下,最好安装GNU libiconv库。最终可能会得到更一致的结果。 – PHP手册对iconv的介绍 该phpinfo函数的输出中包含有关PHP使用的iconv实现的详细信息。 (我无法在与此项目一起使用的服务器上使用正确的iconv库重新编译PHP,因此下面我接受的答案是在没有iconv支持的情况下删除重音符号最有用的答案。)
91 php  iconv 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.