2016-09-05 3 views
0

나는 translate 옵션과 함께 function iconv를 사용합니다.한 기호가 여러 기호로 대체 될 때 UTF-8에서 CP1251로 음역이 있습니까?

한 기호가 여러 기호로 대체되면 UTF-8에서 CP1251까지 음역이 있습니까? 어디에서 해당 정보를 검색 할 수 있습니까? 나는 iconv를 사용하고있다.

+0

"기호"는 * 문자 *를 의미합니까? –

+1

음역은 인코딩과 아무 관련이 없습니다. 인코딩 (Encoding) - 일부 문자 (코드 포인트)를 이진 형식으로 표현하는 방법입니다. 음역은 한 알파벳의 문자를 다른 알파벳의 문자로 대체하는 프로세스입니다. 라틴어로 된 키릴 문자. 귀하의 질문이 충분히 명확하지 않습니다. – Sergio

+0

예를 들어 [link] (http://php.net/manual/ru/function.iconv.php) (러시아어)에 따르면 iconv ("UTF-8", "ISO-8859-1 // TRANSLIT "를 문자열"€ "로 변환하면"EUR "결과 문자열을 얻습니다.하지만 CP1251로 변환하려고하면 get이 나옵니다. 그리고 나는 intresting하고 있는데, cp1251의 서브 렐 문자에서 음역하는 문자가 있습니까? – MayRiv

답변

2

이 구현 및 지역에 따라, 몇 가지가 있습니다 a/c로 자역이 각각 있습니다

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

, + 2100계정U, U + 21D2오른쪽으로 이중 화살표 음역은 =>, U + 00BD음소거 한반도1/2 (공백 포함).

GNU libc 소스 코드에서 찾을 수 있습니다. https://github.com/lattera/glibc/blob/master/locale/C-translit.h.in; 다른 구현은 이러한 문자를 같은 방법으로 음역 할 수 없습니다.

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을 대신 인쇄합니다).

관련 문제