1

I use function iconv with option translit.

Is there transliteration from UTF-8 to CP1251 when one symbol substitutes with several symbols? Where I can search for that information? I am using iconv.

4

2 回答 2

3

有一些,取决于实现和语言环境:

$ echo '℀⇒½' | iconv -f UTF8 -t CP1251//TRANSLIT
a/c=> 1/2 

它们分别是U+2100 ACCOUNT OF音译为a/cU+21D2 RIGHTWARDS DOUBLE ARROW音译为=>U+00BDVULGAR FRACTION ONE HALF音译为1/2(包括空格)。

我在 GNU libc 源代码https://github.com/lattera/glibc/blob/master/locale/C-translit.h.in中找到了这些;如果完全不同,不同的实现可能不会以相同的方式音译这些字符。

于 2016-09-05T15:00:26.303 回答
0

最明显的是

$ echo 'ß' | iconv -f UTF-8 -t CP1251//TRANSLIT
ss

此外,如果您的语言环境是德语,则变音符号将根据德国规则进行音译(是的,音译取决于语言环境)。

$ export LC_ALL=de_DE.UTF-8
$ echo 'Füße' | iconv -f utf-8 -t CP1251//TRANSLIT
Fuesse

F"usse(某些版本将改为打印)。

于 2016-09-05T15:31:30.703 回答