当前位置:  开发笔记 > 编程语言 > 正文

如何将在UTF8中编码的非ASCII字符转换为Perl中的ASCII等效字符?

如何解决《如何将在UTF8中编码的非ASCII字符转换为Perl中的ASCII等效字符?》经验,为你挑选了1个好方法。

我有一个Perl脚本,第三方正在调用该脚本向我发送已注册我软件的人的姓名.其中一方以UTF-8编码名称,所以我相应地调整了我的脚本,用Encode :: decode_utf8(...)将UTF-8解码为ASCII.

这通常可以正常工作,但每6个月左右,其中一个名字包含西里尔字母,希腊字母或罗马字母,因此解码名称会产生垃圾字符,例如"ПоÐ'раÐанÑкаÑ".我必须跟进客户并要求他提供他的名字的"拉丁字符版本"才能发出注册码.

那么,是否有任何Perl模块可以检测是否存在这样的字符并在必要时自动将它们转换为最接近的ASCII表示?

似乎我可以使用Lingua :: Cyrillic :: Translit :: ICAO加Lingua :: DetectCharset来处理Cyrillic,但我更喜欢与其他字符集一起使用的东西.



1> mirod..:

我相信你可以使用Text :: Unidecode,它正是它试图做的.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有