PhP获取第一个字母作为符号;
这个问题是我一段时间以来看到的最奇怪的事情 我得到了UTF-8中的所有页面,在索引页面中添加了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 */ 要显
作为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>