我正在尝试'智能'将地名字符串转换为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?
答案 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特定的音译。