如何使用uconv将地名列表转换为ASCII?

时间:2012-09-26 23:27:09

标签: icu

我正在尝试'智能'将地名字符串转换为ASCII。我认为我正在寻找的是音译。我能够使用'uconv'工具来获得一些令人鼓舞的结果:

说我的输入是“Emberá”:

uconv -x Latin-ASCII input.dat > output.dat

相应的输出将是“Embera” - 正是我想要的。但是在某些情况下,我没有得到预期的结果(也许如果输入不是拉丁语开始?)。例如,请检查此地点(我无法将名称正确复制并粘贴到此文本框中)http://maps.google.ca/maps?q=karpos+macedonia&hl=en&ie=UTF8&hnear=Karpo%C5%A1,+Macedonia+(FYROM)&t=m&z=12

理想情况下,这将被音译为“Karpos”(我认为),但如果我将其用作uconv的输入,使用上述命令,uconv根本不会修改它。

所以给出一个地名列表(如果有人好奇,这里是列表 - http://www.mediafire.com/file/gb0guu117yp1p26/test.dat),如何将它们转换为ASCII?

1 个答案:

答案 0 :(得分:2)

尝试-x 'Any-Latin;Latin-ASCII' 您还可以将--to-callback escape-unicode -t ascii强制输出中的所有内容强制为ascii,否则类似{U+3045}

请注意,'智能'是...相对于此。您正在剥离大量信息并进行多层翻译。这对你来说没什么用,但如果你知道文本是从哪里来的,你可以做-x 'el-en;Any-Latin;Latin-ASCII'之类的事情,比如希腊语到英语(那就是el-en),那么它就可以尝试使用langauge特定的音译。