【发布时间】:2011-01-22 15:29:09
【问题描述】:
是否有将特殊字符转换为英文等价物的功能。例如。将é转换为e。等等……
【问题讨论】:
是否有将特殊字符转换为英文等价物的功能。例如。将é转换为e。等等……
【问题讨论】:
您追求的功能是iconv() - 从用户注释来看,这似乎是您想要做的:characters transliteration
【讨论】:
echo iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', "Jo\xc3\xa3o"); 请注意,我已将“ã”硬编码为 UTF-8 (0xc3a3),以确保编码正确。
你应该使用这个,它会起作用的:
setlocale(LC_CTYPE, 'nl_BE.utf8');
$string = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
我已经测试了很多重音字符
【讨论】:
如果您不喜欢 danp 的解决方案 (iconv),您可以使用带有转换列表的 strtr。 This page 有一个示例脚本(第一个 Google 结果)。
【讨论】:
如果 iconv() 不适合您,您可以创建一个包含要交换的字符数组并传递字符串的函数,然后将 ã 更改为这种方式。
【讨论】: