在WordPress站点内无法使用PHP`iconv`

时间:2019-09-07 作者:Rogério Dec

我正在使用PHPiconv 函数将重音字符转换为其非重音对应字符。例如,“ç”变为“c”,“é”变为“e”,等等。。。

例如,此代码将单词“ação”转换为“acao”:

<?php
    $filename = "ação";
    $filename = iconv( \'UTF-8\', \'ASCII//TRANSLIT\', $filename); // convert latin characters
    echo $filename; // shows "acao"
请在此处检查以上代码:https://ideone.com/tv5C03

但是,在我的Wordpress站点中运行相同的功能时,它会显示:

一o

如何修复此问题?

编辑我正在使用的iconv 插件的自定义函数内部WP All Import:

enter image description here

1 个回复
SO网友:Rogério Dec

要解决此问题,我需要在iconv:

setlocale( LC_ALL, "pt_BR.UTF-8");
因此,转换是正确的(在我的情况下,因为我的站点位于pt_BR):

<?php
    $filename = "ação";
    setlocale( LC_ALL, "pt_BR.UTF-8"); // fix the locale
    $filename = iconv( \'UTF-8\', \'ASCII//TRANSLIT\', $filename); // convert latin characters
    echo $filename; // shows "acao"
正确结果:

acao公司

相关推荐

从unctions.php获取变量的值并进行调试

我试图检查函数中获得的变量。php用于调试目的。我通过执行shortcode来获取当前登录的用户,定义了一个变量$current\\u user。然后我使用if语句来验证是否有当前登录的用户,在这种情况下,应该应用函数前面定义的CSS样式。它当前不起作用,因此我正在尝试研究$current\\u用户变量,但我尝试过的所有变体都不起作用,包括error\\u log。功能。php(片段):add_shortcode(\'show_css_code_conditionally\', \'show_css_co