PhP获取第一个字母作为符号࿽;

PhP获取第一个字母作为符号࿽;,php,encoding,utf-8,Php,Encoding,Utf 8,这个问题是我一段时间以来看到的最奇怪的事情 我得到了UTF-8中的所有页面,在索引页面中添加了作为charset=“UTF-8”,甚至标题() 然后我得到了一个页面,我在其中添加了一个数组中顶部菜单中的所有链接,因此在显示列表时它是可伸缩的 $menu['services'] = "Services"; $submenu['services']['sendings'] = "International sendings"; /* And more like this */ 要显

这个问题是我一段时间以来看到的最奇怪的事情

我得到了UTF-8中的所有页面,在索引页面中添加了
作为
charset=“UTF-8”
,甚至
标题()

然后我得到了一个页面,我在其中添加了一个数组中顶部菜单中的所有链接,因此在显示列表时它是可伸缩的

$menu['services'] = "Services";
    $submenu['services']['sendings'] = "International sendings";
    /* And more like this */
要显示链接,请执行以下操作:

foreach($service as $key => $value) {
    if(isset($submenu[$key])) {
        echo '<li><a href="">'.$value.'</a>
        <ul>';
        foreach($submenu as $keysub => $valuesub) {
            echo '<li><a href="">'.$valuesub.'</a></li>';
        }
        echo '</ul></li>';
    }
    else {
        echo '<li><a href="">'.$value.'</a></li>';
    }
}
foreach($key=>service$value){
if(设置($submenu[$key])){
回声'
    • ”; foreach($keysub=>$valuesub的子菜单){ 回音“
    • ”; } 回音“
  • ”; } 否则{ 回音“
  • ”; } }
    这将正确显示所有菜单,除了所有子菜单中的第一个子菜单(仅第一个子菜单)

  • 正如你所看到的,有一个“A”而不是“I”。我试过其他词,比如“Envíos internacionales”(西班牙语)和“outputs”�国际nvíos”


    我真的不知道它为什么这么做。

    确保所有PHP文件都使用UTF-8保存,而不使用BOM(字节顺序标记),您可以轻松检查当前设置的编码,并使用免费软件记事本++转换文件。主菜单中有“格式”选项,您可以设置或将当前打开的文件转换为所需的编码。您还可以使用一些通用的十六进制编辑器检查字节顺序标记。

    即使您的页面是UTF8格式,也要确保您的DB表是UTF8编码的(如果所提到的数据是从DB填充的)。您也可以尝试使用
    utf8\u encode
    iconv


    如果在我使用Komodo的页面中声明了一种或多种编码类型,并且只显示“UTF-8”(我使用的是wich),而不显示“Whitout BOM”,则也可能发生这种情况。当然可能是这样,但奇怪的是,它只发生在子菜单的第一个菜单上,而所有其他子菜单都正确显示。我会尽快试一试的!数据不是从数据库中获取的,谢谢。也试过utf8_编码,我想iconv也会试一下,以防万一,当我可以的时候,我会在UFT-8中试一下,没有BOM“他们推荐。但我只是觉得奇怪,即使有一个辅音(S,C…),它也会产生奇怪的字符/符号。。。
    <li>
        <a href="">Servicios</a>
            <ul>
                <li>
                    <a href="">Anternational sending</a>
                </li>
                <li>
                    <a href="">Parking service</a>
                </li>
                <!-- and others -->
            </ul>
        </a>
    </li>