数组不匹配没有找到重音符号 [英] array mismatch not finding accented characters

查看:161
本文介绍了数组不匹配没有找到重音符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗯...我难倒,但我敢肯定有一个简单的解决方案,我希望!

我使用Joomla和下面的code着眼于的Joomla文章标题被拉入页面,并提出相应的标志图像标题的左边。

 < PHP$图像=阵列(Montgenevre的'=> 图像/标志/小/ france_sm.jpg',
Jugendgästehaus旅馆Edthöf'=> 图像/标志/小/ austria_sm.jpg',
Jugendgästehaus旅馆Wenghof'=> 图像/标志/小/ austria_sm.jpg',
酒店Stadlmühle'=> 图像/标志/小/ austria_sm.jpg',
CLUBHOTEL普罗旺斯'=> 图像/标志/小/ france_sm.jpg
);如果(使用isset($图像[$这个 - >本期特价货品>标题])){
?>
< PHP}&GT?;
< IMG SRC =< PHP的echo $图像[$这个 - >本期特价货品>标题];>中/> <?PHP的echo $这个 - >本期特价货品>称号; ?>

一切wortks像伦敦或美国正常的话很棒,但我在这里当有我的游戏,比如下面的重音字符数组不起作用/匹配问题:

E 0ü权证

在Joomla的文章文章的标题已经放在这样的 - Montgenevre的

有没有解决这个?

编辑:
我从调试得到输出如下(INC我的其他阵列):

   -  4D 6F 6E 74 67 65 6E C3 A8 76 72 65(Montgenevre的)
+ 41 6E 64 72 6F 72 61(安道尔)
+ 47 72 61 64 6E 76 61 69 6C 72 61(Grandvalira的)
+ 56 61 6C 6C 6F 6E 72 64(瓦尔诺德)
+ 48 6F 74 65 20 6C 61 4D 72 63 20 6F 50 6F 6C 6F(酒店马可波罗)
+ 48 6F 74 65 20 6C 75 41 73 74 72 69 61(酒店奥地利)
+ 41 75 73 74 72 69 61(奥地利)
+ 41 6D 61 64 E9(阿马德)
+ 42 61 64 20 4B 6C 65 6E 69 69 6B 72 63 68 68 65 69 6D(巴德小基希海姆)
+ 4D 61 6C 6C 6E 69 74 7A(马尔尼茨)
+ 4E 61 73 73 66 65 64 6C(纳斯费尔德)
+ 4F 62 65 72 74 61 75 65 72 6E(陶恩)
+ 53 61 61 62 6C 61 63 68 48二维6E 69 74 65 72 67 65 6C 6D 6D(萨尔巴赫 - 辛特格兰)
+ 53 63 68 61 6C 64 6D 69 6E 67 41二维6D 61 64 E9(斯拉德明-阿马德)
+ 53 69 6B 77 65 74 6C(Skiwelt)
+ 57 69 64 6C 73 63 68 F6 6E 61 75(Wildschnau)
+ 5A 65 6C 6C 20 61 20 6D 65 53 65(滨湖采尔)
+ 5A 69 6C 6C 65 72 74 61 6C(河谷)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 48 72 6F 62 72 75 6E 6E(Jugendgstehaus Horbrunn)
+ 47 61 73 74 68 66 6F 20 41 69 67 65 6E 72(爱格纳饭店Gasthof)
+ 48 6F 74 65 20 6C 53 74 61 64 6C 6D FC 68 6C 65(酒店Stadlmhle)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 69 4B 7A 74 73 74 65 69 68 6E 6F 72 6E(Jugendgstehaus前往Kitzsteinhorn)
+ 4A 75 67 65 64 6E 70 65 73 6E 69 6F 6E 20 41 67 6E 65 72 68 66 6F(Jugendpension Angerhof)
+ 47 6F 6C 64 65 65 6E 72 20 4C 6F 77 65(GOLDENER罗威)
+ 47 61 73 74 68 66 6F 20 53 74 61 6D 6D 65 72 68 66 6F(饭店Gasthof Stammerhof)
+ 46 65 72 69 65 67 6E 75 74 20 47 72 75 62 68 66 6F(Feriengut Grubhof)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 48 63 6F 68 6B 6F 67 65 6C(Jugendgstehaus Hochkogel)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 42 61 63 68 62 61 75 65 72 68 6E 6F 66(Jugendgstehaus Bachbauernhof)
+ 4A 75 67 65 64 6E 68 65 69 20 6D 65 42 72 67 68 66 6F(Jugendheim伯格霍夫)
+ 47 61 73 74 68 61 75 73 20 54 68 75 72 65 6E 72 68 66 6F(的Gasthaus Thurnerhof)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 46 65 73 6C 65 72 61 6C 6D(Jugendgstehaus Felseralm)
+ 53 70 72 6F 74 68 74 6F 6C 65 20 65 4C 69 74 65 6E 72(Sporthotel酒店莱特纳)
+ 47 61 73 74 68 66 6F 20 47 61 69 74 6C 6C 61 65 72 68 66 6F(饭店Gasthof Gailtalerhof)
+ 47 61 73 74 68 66 6F 20 45 72 65 6C 68 6E 6F 66(Erlenhof酒店饭店Gasthof)
+ 48 6F 74 65 20 6C 42 69 63 68 68 6C 66 6F(酒店Bichlhof)
+ 48 6F 74 65 20 6C 54 68 75 72 65 6E 72 68 66 6F(酒店Thurnerhof)
+ 53 70 72 6F 74 68 74 6F 6C 65 20 69 4D 72 6E 6F 63 6B(Sporthotel酒店Mirnock)
+ 4A 75 67 65 64 6E 68 65 69 20 6D 65 57 69 74 65 6E 6D 6F 6F 73(Jugendheim Weitenmoos)
+ 4A 75 67 65 64 6E 68 74 6F 6C 65 20 53 69 6D 6F 6E 79 68 66 6F(Jugendhotel酒店Simonyhof)
+ 4A 47 48 20 53 61 72 69 67 6E 75 67 74(JGH Saringgut)
+ 50 65 73 6E 69 6F 6E 20 57 61 63 6C 68 6F 68 66 67 75 74(养老Walchhofgut)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 57 65 67 6E 68 66 6F(Jugendgstehaus Wenghof)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 61 4D 72 6B 75 73 68 66 6F(Jugendgstehaus Markushof酒店)
+ 4A 75 67 65 64 6E 67 73 E4 74 65 68 61 75 73 20 45 64 74 68 66 6F(Jugendgstehaus Edthof)
+ 43 61 61 6E 64 61(加拿大)
+ 4C 65 20 61 4D 73 73 69 66 20 26 20 4D 6F 6E 74 20 53 61 69 74 6E 65 20 41 6E 6E 65(乐高原和放大器;山圣安娜)
+ 54 72 65 62 6D 6C 61 6E 74(蒙特朗布朗)
+ 4C 65 73 20 53 75 69 74 65 73 20 54 72 65 62 6D 6C 61 6E 74(商旅Tremblant的)
+ 43 68 61 74 65 61 75 20 4D 6F 6E 74 20 53 61 69 74 6E 65 20 41 6E 6E 65(蒙特堡圣安妮)
+ 46 72 61 6E 63 65(法国)
+ 41 70 6C 65 20 44 60 48 75 65 7A(阿尔卑斯D`Huez)
+ 4C 65 20 43 72 6F 62 69 65 72(乐Corbier酒店)
+ 4C 65 73 20 44 65 75 78 20 41 70 6C 65 73(莱德萨阿尔卑斯)
+ 4D 6F 6E 74 67 65 6E E8 76 72 65(Montgenvre)
+ 52 69 73 75 6F 6C(利苏尔)
+ 4C 65 73 20 72 4F 72 65 73(莱索尔)
+ 4D 6F 72 7A 69 6E 65(莫尔济讷)
+ 53 65 72 72 65 20 43 68 65 76 61 69 6C 65 72(塞尔舍瓦利耶)
+ 4D 65 72 69 62 65 20 6C 20 2F 72 54 69 6F 73 20 56 61 6C 6C E9 65 73(梅瑞贝尔/三河瓦勒斯)
+ 48 6F 74 65 20 6C 65 4C 20 50 69 65 64 20 4D 6F 75 74 65 74(酒店Le皮耶Moutet)
+ 48 6F 74 65 20 6C 65 44 73 20 65 4E 69 67 65 73(饭店Hotel Des Neiges酒店)
+ 48 6F 74 65 20 6C 20 4C 41 63 6E 6F 6C 69 65(饭店内Ancolie酒店)
+ 43 65 74 6E 72 65 20 64 65 20 56 61 63 61 63 6E 65 73 20 20 4C 45 73 63 61 61 6C 64 65(中心德VACANCES登城节)
+ 48 6F 74 65 20 6C 65 53 72 72 65 20 43 68 65 76 61 69 6C 65 72(酒店塞尔舍瓦利耶)
+ 51 75 61 74 72 65 20 53 61 69 73 6F 6E 73(世嘉涛湾)
+ 48 6F 74 65 20 6C 65 4C 73 20 43 68 61 65 6C 74 73(酒店莱斯小屋)
+ 49 74 61 79 6C(意大利)
+ 41 70 72 69 63 61(阿普里卡)
+ 42 61 72 64 6F 6E 65 63 63 68 69 61(巴多尼奇亚)
+ 43 69 76 65 74 74 61(Civetta山)
+ 46 6F 6C 67 61 72 69 61(福尔加里亚)
+ 50 69 61 63 6E 61 76 61 6C 6C 6F(Piancavallo)
+ 50 61 73 73 20 6F 6F 54 61 6E 65 6C(帕苏Tonale的)
+ 48 6F 74 65 20 6C 6F 52 61 6D(酒店罗马)
+ 48 6F 74 65 20 6C 65 42 7A 7A 69(饭店Bezzi)
+ 48 6F 74 65 20 6C 6F 4C 63 61 64 6E 20 61 4C 6F 63 61 74 72 6F 69(酒店Locanda Locatori)
+ 48 6F 74 65 20 6C 65 52 67 69 61 6E(Regina酒店)
+ 48 6F 74 65 20 6C 53 74 65 6C 6C 61 20 4D 6F 6E 74 69 73(斯特拉酒店蒙蒂斯​​)
+ 48 6F 74 65 20 6C 69 4D 6C 61 6F 6E(Hotel Milano酒店)
+ 48 6F 74 65 20 6C 53 61 79 6F 6E 61 72 61(再见酒店)
+ 48 6F 74 65 20 6C 6F 54 61 6D 73 69(酒店托马西)
+ 48 6F 74 65 20 6C 47 61 72 64 65 6E(花园酒店)
+ 48 6F 74 65 20 6C 43 61 73 61 20 41 70 6C 6E 69 61(卡萨酒店阿尔皮纳)
+ 48 6F 74 65 20 6C 56 6C 69 6C 61 67 69 20 6楼6C 4楼6D 69 70 69 63 6F(酒店Villagio奥林匹克)
+ 48 6F 74 65 20 6C 6F 53 6D 6D 65 69 6C 6C 65 72(酒店Sommeiller)
+ 48 6F 74 65 20 6C 6F 54 72 65 61 6E(酒店Torena)
+ 48 6F 74 65 20 6C 70 53 72 6F 74(酒店体育)
+ 48 6F 74 65 20 6C 47 69 65 6E 70 72 6F(酒店Ginepro)
+ 53 70 61 69 6E(西班牙)
+ 41 70 6C 20 32 35 30 30(ALP 2500)
+ 48 6F 6C 69 64 61 79 20 43 65 74 6E 72 65 20 41 62 6C 65 72 67 75 65(度假中心albergue旅馆)
+ 48 6F 74 65 20 6C 6C 41 70 20 61 4D 73 65 6C 6C 61(酒店阿尔普Masella)
+ 53 77 69 74 7A 65 72 6C 61 6E 64(瑞士)
+ 53 61 61 73 20 46 65 65(萨斯费)
+ 48 6F 74 65 20 6C 6F 52 64 61 69 6E 61(酒店Rodania)
+ 55 53 41(美国)
+ 4B 69 6C 6C 69 6E 67 74 6F 6E(灵顿)
+ 50 69 63 6F(微微)
+ 53 74 77 6F 65(斯托)
+ 4D 6F 6E 75 20 74 53 6E 6F 77(雪山滑雪场)
+ 53 75 64 6E 61 79 20 52 69 76 65 72(星期日河)
+ 53 75 67 61 72 6C 6F 61 66(舒格洛夫)
+ 4C 6F 6F 6E(龙)
+ 43 61 6E 6E 6F 6E(炮)
+ 57 61 74 65 72 76 69 6C 6C 65 20 56 61 6C 6C 65 79(沃特维尔谷)
+ 43 72 61 6E 6D 6F 72 65(克莱默)
+ 57 69 64 6C 63 61 74(野猫)
+ 41 74 74 69 74 61 73 68(阿蒂塔什滑雪度假村)
+ 42 72 65 74 74 6F 6E 20 57 6F 6F 64 73(布雷顿森林体系)
+ 57 69 74 6E 65 72 20 50 61 72 6B(冬季公园)
+ 41 70 6C 69 6E 65 20 65 4D 61 64 77 6F 73(高寒草甸)
+ 48 6F 6D 65 77 6F 6F 64(霍姆伍德)
+ 48 65 61 76 65 6E 6C 79(天堂)
+ 53 69 65 72 72 61 61 2D 2D 74 54 61 68 65 6F(塞拉利昂-AT-太浩)
+ 4D 6F 6E 75 74 61 69 20 6E 49 6E 6E(山酒店)
+ 43 6D 6F 6F 66 72 74 20 49 6E 6E 20 61 74 20 54 72 6F 6C 6C 65 79 20 53 71 75 61 72 65(舒适酒店在车坊)
+ 47 72 65 79 20 42 6F 6E 6E 65 74 20 49 6E 6E(灰阀盖酒店)
+ 48 6F 6C 69 64 61 79 20 49 6E 6E(假日酒店)
+ 52 61 61 6D 64 61 20 49 6E 6E(华美达酒店)
+ 52 65 64 20 52 6F 6F 66 20 49 6E 6E(红顶酒店)
+ 43 6F 6D 6D 6F 6F 64 72 65 73 20 49 6E 6E(海军准将酒店)
+ 4D 6F 6E 75 74 61 69 65 6E 65 72 20 49 6E 6E(登山客栈)
+ 54 68 65 20 4C 6F 64 67 65 20 61 74 20 4D 6F 6E 75 20 74 53 6E 6F 77(洛奇山雪)
+ 53 6E 6F 77 20 61 4C 65 6B 20 4C 6F 64 67 65(雪湖山庄)
+ 4A 6F​​ 72 64 61 20 6E 47 72 61 64 6E 20 48 74 6F 6C 65(约旦大酒店)
+ 53 6E 6F 77 20 43 61 70 20 49 6E 6E 20 61 64 6E 20 53 69 6B 20 44 72 6楼6D(雪帽酒店和滑雪宿舍)
+ 53 75 67 61 72 6C 6F 61 66 20 4D 6F 6E 75 74 61 69 20 6E 48 74 6F 6C 65(Sugarloaf山宾馆)
+ 53 75 67 61 72 6C 6F 61 66 20 43 6F 6E 64 73 6F(舒格洛夫公寓房)
+ 53 75 67 61 72 6C 6F 61 66 20 49 6E 6E(舒格洛夫酒店)
+ 4E 6F 72 74 68 20 43 6F 6E 77 61 79 20 47 72 61 64 6E(北康威大)
+ 54 6F 6E 77 20 26 20 43 75 6F 6E 74 72 79 20 49 6E 6E(镇&安培;乡村酒店)
+ 56 61 6C 6C 65 79 20 49 6E 6E(谷客栈)
+ 57 6F 6F 64 77 61 72 64 73 20 52 65 73 72 6F 74(Woodwards度假村)
+ 42 65 61 63 6F 6E 20 52 65 73 72 6F 74(灯塔度假村)
+ 42 65 61 76 65 72 20 56 69 6C 6C 61 67 65 20 43 6F 6E 64 73 6F(海狸村公寓房)
+ 56 69 74 6E 61 67 65 20 48 74 6F 6C 65(Vintage Hotel酒店)
+ 46 65 72 72 61 72 69 73 20 43 72 77 6F 6E 20 52 65 73 72 6F 74(法拉利皇冠度假酒店)
+ 47 72 61 64 6E 20 53 69 65 72 72 61 20 52 65 73 72 6F 20 74 26 20 43 61 73 69 6E 6F(大塞拉利昂度假酒店及放大器;赌场)
+ 46 6F 72 65 73 74 20 53 75 69 74 65 73 20 52 65 73 72 6F 74(林套房度假村)
+ 51 75 61 69 6C 74 79 20 49 6E 6E 20 61 64 6E 20 53 75 69 74 65 73(优质酒店及套房)
+ 43 75 6C 62 48 74 6F 6C 65 20 42 65 61 75 73 6F 6C 65 69 6C(CLUBHOTEL博索莱伊)
+ 43 75 6C 62 48 74 6F 6C 65 20 65 4C 4D 20 6F 6E 74 20 43 72 6F 62 69 65 72(CLUBHOTEL圣米歇尔山Corbier酒店)
+ 43 75 6C 62 48 74 6F 6C 65 20 50 72 76 6F 6E 65 61 E7 6C(CLUBHOTEL Provenal)
+ 43 75 6C 62 48 74 6F 6C 65 20 65 4C 73 20 52 69 6F 73 20 61 4D 67 65 73(CLUBHOTEL Les Rois酒店法师)
+ 43 75 6C 62 48 74 6F 6C 65 20 65 4C


解决方案

不是一个解决方案,但作为一个评论不可行:结果
请添加一些调试code和输出添加到您原来的问题,所以我们可以看到字符串的实际编码

 < PHP
$图像=阵列(
    Montgenevre的'=> 图像/标志/小/ france_sm.jpg',
    Jugendgästehaus旅馆Edthöf'=> 图像/标志/小/ austria_sm.jpg',
    Jugendgästehaus旅馆Wenghof'=> 图像/标志/小/ austria_sm.jpg',
    酒店Stadlmühle'=> 图像/标志/小/ austria_sm.jpg',
    CLUBHOTEL普罗旺斯'=> 图像/标志/小/ france_sm.jpg
);//< - 调试code
功能dbgString2Hex($ S){
    $ RV ='';
    为($ I = 0; $ I<的strlen($ S); $ I ++){
        。$ RV = sprintf的(%02X,ORD($ S [$ i]));
    }
    返回$ RV;
}
回声< pre> \\ N的;
$ dbgTitle = $这个 - >本期特价货品>称号;
// $ dbgTitle ='Montgenevre的';
呼应' - ',dbgString2Hex($ dbgTitle),($ dbgTitle)\\ n;
的foreach($图像,$ dbgKey => $ dbgValue){
    回声'+',dbgString2Hex($ dbgKey),($ dbgKey)\\ n;
}
回声\\ n< / pre>中;
//调试code - >


更新:结果
输出表明,你的PHP脚本文件是不是UTF-8 EN codeD,即在你的阵列$图像中的字符串是ISO-8859连接codeD。 PHP(至少当前5.x版本)做一个逐字节的比较,没有设置PHP内核两种不同的编码抛开比较编码的概念。 (请参见 http://docs.php.net/mbstring )。

的脚本文件转换为UTF-8,从而有UTF-8 EN codeD字符串*。结果
或(甚至更好)将这些串到数据库,以及(例如,具有另一个表和查询数据与一些JOIN语句)。


*)对许多字符有一个在UTF-8不止一个重presentation。因此喜欢它的简单字节比较对 $ X === $ Y 在PHP中可能仍会失败完成。如果你想健壮code。使用一个支持UTF-8比较函数应该是强制性的。这就是为什么我把这种逻辑在数据库中(然后可能使用其他discrimantor例如像类别ID,字符串以外的东西,即,也许一个整数或任何数据库系统提供的标识符)。

Well... I am stumped, but I'm sure there's a simple solution I hope!

I use Joomla and the following code looks at the Joomla article title being pulled into the page and puts the appropriate flag image to the left of the title.

<?php

$images = array (

'Montgenèvre' => 'images/flags/small/france_sm.jpg',        
'Jugendgastehaus Edthöf' => 'images/flags/small/austria_sm.jpg',    
'Jugendgästehaus Wenghof' => 'images/flags/small/austria_sm.jpg',
'Hotel Stadlmühle' => 'images/flags/small/austria_sm.jpg',
'ClubHotel Provençal' => 'images/flags/small/france_sm.jpg'
);

if (isset($images[$this->item->title])) {
?>
<?php } ?>
<img src="<?php echo $images[$this->item->title]; ?>" /> <?php echo $this->item->title; ?>

Everything wortks great on normal words like 'London' or USA', but I have issues where the array doesn't work/match when there are accented characters in my titles like the following:

é ö ü è ç

In the Joomla article the article title has been put in like this - Montgenèvre

Is there a solution to this?

Edited: The output I am getting from the debug is as follows (inc. my other arrays):

- 4D 6F 6E 74 67 65 6E C3 A8 76 72 65 (Montgenèvre)
+ 41 6E 64 6F 72 72 61 (Andorra)
+ 47 72 61 6E 64 76 61 6C 69 72 61 (Grandvalira)
+ 56 61 6C 6C 6E 6F 72 64 (Vallnord)
+ 48 6F 74 65 6C 20 4D 61 72 63 6F 20 50 6F 6C 6F (Hotel Marco Polo)
+ 48 6F 74 65 6C 20 41 75 73 74 72 69 61 (Hotel Austria)
+ 41 75 73 74 72 69 61 (Austria)
+ 41 6D 61 64 E9 (Amad�)
+ 42 61 64 20 4B 6C 65 69 6E 6B 69 72 63 68 68 65 69 6D (Bad Kleinkirchheim)
+ 4D 61 6C 6C 6E 69 74 7A (Mallnitz)
+ 4E 61 73 73 66 65 6C 64 (Nassfeld)
+ 4F 62 65 72 74 61 75 65 72 6E (Obertauern)
+ 53 61 61 6C 62 61 63 68 2D 48 69 6E 74 65 72 67 6C 65 6D 6D (Saalbach-Hinterglemm)
+ 53 63 68 6C 61 64 6D 69 6E 67 2D 41 6D 61 64 E9 (Schladming-Amad�)
+ 53 6B 69 77 65 6C 74 (Skiwelt)
+ 57 69 6C 64 73 63 68 F6 6E 61 75 (Wildsch�nau)
+ 5A 65 6C 6C 20 61 6D 20 53 65 65 (Zell am See)
+ 5A 69 6C 6C 65 72 74 61 6C (Zillertal)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 48 6F 72 62 72 75 6E 6E (Jugendg�stehaus Horbrunn)
+ 47 61 73 74 68 6F 66 20 41 69 67 6E 65 72 (Gasthof Aigner)
+ 48 6F 74 65 6C 20 53 74 61 64 6C 6D FC 68 6C 65 (Hotel Stadlm�hle)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 4B 69 74 7A 73 74 65 69 6E 68 6F 72 6E (Jugendg�stehaus Kitzsteinhorn)
+ 4A 75 67 65 6E 64 70 65 6E 73 69 6F 6E 20 41 6E 67 65 72 68 6F 66 (Jugendpension Angerhof)
+ 47 6F 6C 64 65 6E 65 72 20 4C 6F 77 65 (Goldener Lowe)
+ 47 61 73 74 68 6F 66 20 53 74 61 6D 6D 65 72 68 6F 66 (Gasthof Stammerhof)
+ 46 65 72 69 65 6E 67 75 74 20 47 72 75 62 68 6F 66 (Feriengut Grubhof)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 48 6F 63 68 6B 6F 67 65 6C (Jugendg�stehaus Hochkogel)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 42 61 63 68 62 61 75 65 72 6E 68 6F 66 (Jugendg�stehaus Bachbauernhof)
+ 4A 75 67 65 6E 64 68 65 69 6D 20 42 65 72 67 68 6F 66 (Jugendheim Berghof)
+ 47 61 73 74 68 61 75 73 20 54 68 75 72 6E 65 72 68 6F 66 (Gasthaus Thurnerhof)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 46 65 6C 73 65 72 61 6C 6D (Jugendg�stehaus Felseralm)
+ 53 70 6F 72 74 68 6F 74 65 6C 20 4C 65 69 74 6E 65 72 (Sporthotel Leitner)
+ 47 61 73 74 68 6F 66 20 47 61 69 6C 74 61 6C 65 72 68 6F 66 (Gasthof Gailtalerhof)
+ 47 61 73 74 68 6F 66 20 45 72 6C 65 6E 68 6F 66 (Gasthof Erlenhof)
+ 48 6F 74 65 6C 20 42 69 63 68 6C 68 6F 66 (Hotel Bichlhof)
+ 48 6F 74 65 6C 20 54 68 75 72 6E 65 72 68 6F 66 (Hotel Thurnerhof)
+ 53 70 6F 72 74 68 6F 74 65 6C 20 4D 69 72 6E 6F 63 6B (Sporthotel Mirnock)
+ 4A 75 67 65 6E 64 68 65 69 6D 20 57 65 69 74 65 6E 6D 6F 6F 73 (Jugendheim Weitenmoos)
+ 4A 75 67 65 6E 64 68 6F 74 65 6C 20 53 69 6D 6F 6E 79 68 6F 66 (Jugendhotel Simonyhof)
+ 4A 47 48 20 53 61 72 69 6E 67 67 75 74 (JGH Saringgut)
+ 50 65 6E 73 69 6F 6E 20 57 61 6C 63 68 68 6F 66 67 75 74 (Pension Walchhofgut)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 57 65 6E 67 68 6F 66 (Jugendg�stehaus Wenghof)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 4D 61 72 6B 75 73 68 6F 66 (Jugendg�stehaus Markushof)
+ 4A 75 67 65 6E 64 67 E4 73 74 65 68 61 75 73 20 45 64 74 68 6F 66 (Jugendg�stehaus Edthof)
+ 43 61 6E 61 64 61 (Canada)
+ 4C 65 20 4D 61 73 73 69 66 20 26 20 4D 6F 6E 74 20 53 61 69 6E 74 65 20 41 6E 6E 65 (Le Massif & Mont Sainte Anne)
+ 54 72 65 6D 62 6C 61 6E 74 (Tremblant)
+ 4C 65 73 20 53 75 69 74 65 73 20 54 72 65 6D 62 6C 61 6E 74 (Les Suites Tremblant)
+ 43 68 61 74 65 61 75 20 4D 6F 6E 74 20 53 61 69 6E 74 65 20 41 6E 6E 65 (Chateau Mont Sainte Anne)
+ 46 72 61 6E 63 65 (France)
+ 41 6C 70 65 20 44 60 48 75 65 7A (Alpe D`Huez)
+ 4C 65 20 43 6F 72 62 69 65 72 (Le Corbier)
+ 4C 65 73 20 44 65 75 78 20 41 6C 70 65 73 (Les Deux Alpes)
+ 4D 6F 6E 74 67 65 6E E8 76 72 65 (Montgen�vre)
+ 52 69 73 6F 75 6C (Risoul)
+ 4C 65 73 20 4F 72 72 65 73 (Les Orres)
+ 4D 6F 72 7A 69 6E 65 (Morzine)
+ 53 65 72 72 65 20 43 68 65 76 61 6C 69 65 72 (Serre Chevalier)
+ 4D 65 72 69 62 65 6C 20 2F 20 54 72 6F 69 73 20 56 61 6C 6C E9 65 73 (Meribel / Trois Vall�es)
+ 48 6F 74 65 6C 20 4C 65 20 50 69 65 64 20 4D 6F 75 74 65 74 (Hotel Le Pied Moutet)
+ 48 6F 74 65 6C 20 44 65 73 20 4E 65 69 67 65 73 (Hotel Des Neiges)
+ 48 6F 74 65 6C 20 4C 20 41 6E 63 6F 6C 69 65 (Hotel L Ancolie)
+ 43 65 6E 74 72 65 20 64 65 20 56 61 63 61 6E 63 65 73 20 4C 20 45 73 63 61 6C 61 64 65 (Centre de Vacances L Escalade)
+ 48 6F 74 65 6C 20 53 65 72 72 65 20 43 68 65 76 61 6C 69 65 72 (Hotel Serre Chevalier)
+ 51 75 61 74 72 65 20 53 61 69 73 6F 6E 73 (Quatre Saisons)
+ 48 6F 74 65 6C 20 4C 65 73 20 43 68 61 6C 65 74 73 (Hotel Les Chalets)
+ 49 74 61 6C 79 (Italy)
+ 41 70 72 69 63 61 (Aprica)
+ 42 61 72 64 6F 6E 65 63 63 68 69 61 (Bardonecchia)
+ 43 69 76 65 74 74 61 (Civetta)
+ 46 6F 6C 67 61 72 69 61 (Folgaria)
+ 50 69 61 6E 63 61 76 61 6C 6C 6F (Piancavallo)
+ 50 61 73 73 6F 20 54 6F 6E 61 6C 65 (Passo Tonale)
+ 48 6F 74 65 6C 20 52 6F 6D 61 (Hotel Roma)
+ 48 6F 74 65 6C 20 42 65 7A 7A 69 (Hotel Bezzi)
+ 48 6F 74 65 6C 20 4C 6F 63 61 6E 64 61 20 4C 6F 63 61 74 6F 72 69 (Hotel Locanda Locatori)
+ 48 6F 74 65 6C 20 52 65 67 69 6E 61 (Hotel Regina)
+ 48 6F 74 65 6C 20 53 74 65 6C 6C 61 20 4D 6F 6E 74 69 73 (Hotel Stella Montis)
+ 48 6F 74 65 6C 20 4D 69 6C 61 6E 6F (Hotel Milano)
+ 48 6F 74 65 6C 20 53 61 79 6F 6E 61 72 61 (Hotel Sayonara)
+ 48 6F 74 65 6C 20 54 6F 6D 61 73 69 (Hotel Tomasi)
+ 48 6F 74 65 6C 20 47 61 72 64 65 6E (Hotel Garden)
+ 48 6F 74 65 6C 20 43 61 73 61 20 41 6C 70 69 6E 61 (Hotel Casa Alpina)
+ 48 6F 74 65 6C 20 56 69 6C 6C 61 67 69 6F 20 4F 6C 69 6D 70 69 63 6F (Hotel Villagio Olimpico)
+ 48 6F 74 65 6C 20 53 6F 6D 6D 65 69 6C 6C 65 72 (Hotel Sommeiller)
+ 48 6F 74 65 6C 20 54 6F 72 65 6E 61 (Hotel Torena)
+ 48 6F 74 65 6C 20 53 70 6F 72 74 (Hotel Sport)
+ 48 6F 74 65 6C 20 47 69 6E 65 70 72 6F (Hotel Ginepro)
+ 53 70 61 69 6E (Spain)
+ 41 6C 70 20 32 35 30 30 (Alp 2500)
+ 48 6F 6C 69 64 61 79 20 43 65 6E 74 72 65 20 41 6C 62 65 72 67 75 65 (Holiday Centre Albergue)
+ 48 6F 74 65 6C 20 41 6C 70 20 4D 61 73 65 6C 6C 61 (Hotel Alp Masella)
+ 53 77 69 74 7A 65 72 6C 61 6E 64 (Switzerland)
+ 53 61 61 73 20 46 65 65 (Saas Fee)
+ 48 6F 74 65 6C 20 52 6F 64 61 6E 69 61 (Hotel Rodania)
+ 55 53 41 (USA)
+ 4B 69 6C 6C 69 6E 67 74 6F 6E (Killington)
+ 50 69 63 6F (Pico)
+ 53 74 6F 77 65 (Stowe)
+ 4D 6F 75 6E 74 20 53 6E 6F 77 (Mount Snow)
+ 53 75 6E 64 61 79 20 52 69 76 65 72 (Sunday River)
+ 53 75 67 61 72 6C 6F 61 66 (Sugarloaf)
+ 4C 6F 6F 6E (Loon)
+ 43 61 6E 6E 6F 6E (Cannon)
+ 57 61 74 65 72 76 69 6C 6C 65 20 56 61 6C 6C 65 79 (Waterville Valley)
+ 43 72 61 6E 6D 6F 72 65 (Cranmore)
+ 57 69 6C 64 63 61 74 (Wildcat)
+ 41 74 74 69 74 61 73 68 (Attitash)
+ 42 72 65 74 74 6F 6E 20 57 6F 6F 64 73 (Bretton Woods)
+ 57 69 6E 74 65 72 20 50 61 72 6B (Winter Park)
+ 41 6C 70 69 6E 65 20 4D 65 61 64 6F 77 73 (Alpine Meadows)
+ 48 6F 6D 65 77 6F 6F 64 (Homewood)
+ 48 65 61 76 65 6E 6C 79 (Heavenly)
+ 53 69 65 72 72 61 2D 61 74 2D 54 61 68 6F 65 (Sierra-at-Tahoe)
+ 4D 6F 75 6E 74 61 69 6E 20 49 6E 6E (Mountain Inn)
+ 43 6F 6D 66 6F 72 74 20 49 6E 6E 20 61 74 20 54 72 6F 6C 6C 65 79 20 53 71 75 61 72 65 (Comfort Inn at Trolley Square)
+ 47 72 65 79 20 42 6F 6E 6E 65 74 20 49 6E 6E (Grey Bonnet Inn)
+ 48 6F 6C 69 64 61 79 20 49 6E 6E (Holiday Inn)
+ 52 61 6D 61 64 61 20 49 6E 6E (Ramada Inn)
+ 52 65 64 20 52 6F 6F 66 20 49 6E 6E (Red Roof Inn)
+ 43 6F 6D 6D 6F 64 6F 72 65 73 20 49 6E 6E (Commodores Inn)
+ 4D 6F 75 6E 74 61 69 6E 65 65 72 20 49 6E 6E (Mountaineer Inn)
+ 54 68 65 20 4C 6F 64 67 65 20 61 74 20 4D 6F 75 6E 74 20 53 6E 6F 77 (The Lodge at Mount Snow)
+ 53 6E 6F 77 20 4C 61 6B 65 20 4C 6F 64 67 65 (Snow Lake Lodge)
+ 4A 6F 72 64 61 6E 20 47 72 61 6E 64 20 48 6F 74 65 6C (Jordan Grand Hotel)
+ 53 6E 6F 77 20 43 61 70 20 49 6E 6E 20 61 6E 64 20 53 6B 69 20 44 6F 72 6D (Snow Cap Inn and Ski Dorm)
+ 53 75 67 61 72 6C 6F 61 66 20 4D 6F 75 6E 74 61 69 6E 20 48 6F 74 65 6C (Sugarloaf Mountain Hotel)
+ 53 75 67 61 72 6C 6F 61 66 20 43 6F 6E 64 6F 73 (Sugarloaf Condos)
+ 53 75 67 61 72 6C 6F 61 66 20 49 6E 6E (Sugarloaf Inn)
+ 4E 6F 72 74 68 20 43 6F 6E 77 61 79 20 47 72 61 6E 64 (North Conway Grand)
+ 54 6F 77 6E 20 26 20 43 6F 75 6E 74 72 79 20 49 6E 6E (Town & Country Inn)
+ 56 61 6C 6C 65 79 20 49 6E 6E (Valley Inn)
+ 57 6F 6F 64 77 61 72 64 73 20 52 65 73 6F 72 74 (Woodwards Resort)
+ 42 65 61 63 6F 6E 20 52 65 73 6F 72 74 (Beacon Resort)
+ 42 65 61 76 65 72 20 56 69 6C 6C 61 67 65 20 43 6F 6E 64 6F 73 (Beaver Village Condos)
+ 56 69 6E 74 61 67 65 20 48 6F 74 65 6C (Vintage Hotel)
+ 46 65 72 72 61 72 69 73 20 43 72 6F 77 6E 20 52 65 73 6F 72 74 (Ferraris Crown Resort)
+ 47 72 61 6E 64 20 53 69 65 72 72 61 20 52 65 73 6F 72 74 20 26 20 43 61 73 69 6E 6F (Grand Sierra Resort & Casino)
+ 46 6F 72 65 73 74 20 53 75 69 74 65 73 20 52 65 73 6F 72 74 (Forest Suites Resort)
+ 51 75 61 6C 69 74 79 20 49 6E 6E 20 61 6E 64 20 53 75 69 74 65 73 (Quality Inn and Suites)
+ 43 6C 75 62 48 6F 74 65 6C 20 42 65 61 75 73 6F 6C 65 69 6C (ClubHotel Beausoleil)
+ 43 6C 75 62 48 6F 74 65 6C 20 4C 65 20 4D 6F 6E 74 20 43 6F 72 62 69 65 72 (ClubHotel Le Mont Corbier)
+ 43 6C 75 62 48 6F 74 65 6C 20 50 72 6F 76 65 6E E7 61 6C (ClubHotel Proven�al)
+ 43 6C 75 62 48 6F 74 65 6C 20 4C 65 73 20 52 6F 69 73 20 4D 61 67 65 73 (ClubHotel Les Rois Mages)
+ 43 6C 75 62 48 6F 74 65 6C 20 4C 65

解决方案

Not a solution but not feasible as a comment:
Please add some debug code and add the output to your original question so we can see the actual encoding of the strings

<?php
$images = array (
    'Montgenèvre' => 'images/flags/small/france_sm.jpg',        
    'Jugendgastehaus Edthöf' => 'images/flags/small/austria_sm.jpg',    
    'Jugendgästehaus Wenghof' => 'images/flags/small/austria_sm.jpg',
    'Hotel Stadlmühle' => 'images/flags/small/austria_sm.jpg',
    'ClubHotel Provençal' => 'images/flags/small/france_sm.jpg'
);

// <-- debug code
function dbgString2Hex($s) {
    $rv = '';
    for($i=0; $i<strlen($s); $i++) {
        $rv .= sprintf('%02X ', ord($s[$i]));
    }
    return $rv;
}
echo "<pre>\n";
$dbgTitle = $this->item->title;
//$dbgTitle = 'Montgenèvre';
echo '- ', dbgString2Hex($dbgTitle), "($dbgTitle)\n";
foreach( $images as $dbgKey=>$dbgValue ) {
    echo '+ ', dbgString2Hex($dbgKey), "($dbgKey)\n";
}
echo "\n</pre>";
//  debug code -->


update:
The output suggests that your php script file is not utf-8 encoded, i.e. the string literals in your array $images are iso-8859 encoded. PHP (at least the current 5.x versions) do a byte-by-byte comparison, there's no notion of an encoding set aside comparison of two different encodings in the php core. (see http://docs.php.net/mbstring).

Either convert the script file to utf-8 and thereby have utf-8 encoded string literals*.
Or (maybe even better) move those strings to the database as well (e.g. having another table and query the data with some JOIN statement).


*) For many characters there's more than one representation in utf-8. Therefore a simple byte comparison like it's done for $x===$y in php may still fail. If you want robust code using an utf-8 aware comparison function should be mandatory. That's why I'd put that logic in the database (and then probably used another discrimantor like e.g. a category id, i.e. something other than a string, maybe an integer or whatever the database system offers as identifier).

这篇关于数组不匹配没有找到重音符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆