考慮文字的下面的示例行:的iconv - 音譯如果可能的話,否則保留未轉換
α Arietis, called Hamal, is the brightest star in Aries. Its traditional name is derived from the Arabic word for 「lamb」 or 「head of the ram」 (ras al-hamal).
它有三種不同的UTF-8字符的α
,左智能引號,和一個正確的智能報價。
我的目標是儘可能多的音譯從UTF-8到常規ASCII,但留下任何不可轉換的字符原樣。 (在上面的示例文本,智能引號可以音譯到"
,但α
不能)
我現在的命令是:
iconv -f UTF-8 -t ASCII//TRANSLIT < iconv.sample
然而,它未能在α
轉換,並與iconv: (stdin):1:0: cannot convert
終止。
如果我添加//IGNORE
到目標或使用-c
選項,則丟棄該α
乾脆。
我怎麼能音譯如果可能的話,但如果沒有退回到原來的輸入字符?
這正是我要找的!我不知道,甚至是一種效用。 –
我有點遲了,重新審視了這一點,但似乎'Latin-ASCII'有一個將重音字符轉換爲無重音ASCII的壞習慣。正確的音譯似乎是'-x':: [[:標點符號:] [:符號:]] Latin-ASCII;''。這僅適用了'拉丁ASCII'轉化爲標點和符號。 –