所以我正在构建一个网站,该网站使用已经设置并由客户用于其所有其他网站相当长一段时间的数据库提要。
他们通过外部程序填充此数据库,我无法改变获取数据的方式。
现在我有以下问题,有时我会得到UTF-8字符串,有时我会得到ASCII字符串(希望我弄清了这些术语,有时它们仍然有点模糊)。
所以我可能会得到这个:
现在的问题是,我必须将其转换为非特殊字符(因此它将变成
我不认为有一个将
或者我应该创建一个包含“一切”的数组
(例如:
我知道如何将
也许我正在错误地处理这个问题,但在那种情况下,我很想知道我应该如何处理它。
他们通过外部程序填充此数据库,我无法改变获取数据的方式。
现在我有以下问题,有时我会得到UTF-8字符串,有时我会得到ASCII字符串(希望我弄清了这些术语,有时它们仍然有点模糊)。
所以我可能会得到这个:
Scénic
或Scénic
。现在的问题是,我必须将其转换为非特殊字符(因此它将变成
Scenic
)用于URL。我不认为有一个将
é
转换为e
的函数(如果有,请告诉我),因此我可能需要创建一个包含所有源和目标的数组,但更大的问题是在不破坏该函数时将é
转换为é
。或者我应该创建一个包含“一切”的数组
(例如:
array('é'=>'e','é'=>'e');
等)。我知道如何将
é
转换为é
,方法是执行utf8_encode(html_entity_decode('é'))
,但是将é
放入同一函数中将返回é
。也许我正在错误地处理这个问题,但在那种情况下,我很想知道我应该如何处理它。
html_entity_decode('éeé',ENT_COMPAT,"UTF-8");
在我的情况下实际上产生了�eé
(使用 DOCTYPE html 和 meta charset UTF-8)。但是在 codepad.org 上,它返回éeé
。如果我对其执行iconv("UTF-8","ASCII//TRANSLIT",$input);
,我会得到一个空字符串。而且iconv
在 codepad 上不起作用,所以我无法在那里测试它。 - KokosßæıLJ
。它应该变成ssaeiLJ
。 - MSalters