gpt4 book ai didi

php - 获取 iconv 来转换我的字符串

转载 作者:可可西里 更新时间:2023-10-31 23:25:23 24 4
gpt4 key购买 nike

我有以下字符串:

ᴰᴶ Bagi

有没有可能让iconv做成DJ Bagi

首先我尝试了:

$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

导致以下通知:

Notice: iconv() [function.iconv]: Detected an illegal character in input string 

在 PHP 站点上,我看到有人使用:

//忽略//TRANSLIT

虽然这会阻止我只收到通知:

Bagi

最佳答案

我最初认为这是您端的编码问题,但如果我从 soundcloud 源页面复制并粘贴这些字符到本地:

ᴰᴶ Bagi

并尝试 iconv 它们,我得到的结果与您相同。这意味着数据是 UTF-8,但 iconv 无法将 ᴰ<​​ 识别为 D 的“子代”。无法转换字符,它会提示(IMO 有点误导)非法字符。

编辑这似乎是真的。上标 D 不在 Unicode Superscripts and Subscripts range 中, 但它是 phonetic character .这可能就是为什么它们不能映射回它们的“父”字母的原因。 Here是关于 ᴰ<​​

的更多信息

据我所知,您唯一的选择是手动替换字符。

最原始的替换例子是

str_replace("ᴰ", "D", $string);

(请注意,您的源文件需要存储为 UTF-8 才能正常工作)

对于一个优雅的解决方案,您可以用源字符和替换字符构建一个数组,并将其传递给 str_replace 调用。

或者调用 DJ Bagi,让他把该死的字母弄清楚。您会注意到 Soundcloud 的 URL 构建器遇到了完全相同的问题。

soundcloud.com/bagi 

关于php - 获取 iconv 来转换我的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com