获取iconv转换我的字符串

| 我有以下字符串:
ᴰᴶ Bagi
可以让iconv变成
DJ Bagi
吗? 首先,我尝试了:
$text = iconv(\'utf-8\', \'us-ascii//TRANSLIT\', $text);
这导致了以下通知:
Notice: iconv() [function.iconv]: Detected an illegal character in input string 
在PHP网站上,我看到有人使用:
//IGNORE//TRANSLIT
虽然这阻止了通知,但我仅收到:
Bagi
    
已邀请:
我最初以为这是您的编码问题,但是如果我从soundcloud源页面本地复制并粘贴这些字符,请执行以下操作:
ᴰᴶ Bagi
尝试iconv他们,我得到的结果与您相同。这意味着数据是UTF-8,但是iconv不能将
识别为
D
的\“ child \”。无法转换字符,它抱怨(有点误导海事组织)非法字符。 编辑:这确实的确如此。上标D不在Unicode上标和下标范围内,但是它是一个语音字符。这可能就是为什么无法将它们映射回其“父”字母的原因。这是有关
的更多信息 据我所知,您唯一的选择是手动替换字符。 最原始的替换示例是
str_replace(\"ᴰ\", \"D\", $string);
(请注意,您的源文件需要存储为UTF-8才能正常工作) 对于一个优雅的解决方案,您可以根据源字符和替换字符构建一个数组,然后将其传递给
str_replace
调用。 或致电DJ Bagi并告诉他弄明白该死的信件。您会注意到,Soundcloud的URL构建器遇到了完全相同的问题。
soundcloud.com/bagi 
    

要回复问题请先登录注册