iconvは円内の数字を日本語のエンコーディングに変換できません。

iconvは円内の数字を日本語のエンコーディングに変換できません。

円で囲まれた数字のUnicode範囲(U + 2460 .. U + 2468)は、日本語エンコード(EUC-JP、Shift-JIS、ISO-2022-JP)に変換したり、日本語エンコーディングから変換することはできません。そこにあっても、私はいつもそれらに会う。

% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t euc-jp
iconv: (stdin):1:0: cannot convert
% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t shift-jis
iconv: (stdin):1:0: cannot convert
% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t iso-2022-jp
iconv: (stdin):1:0: cannot convert

% printf "\xad\xa1\xad\xa2\xad\xa3\xad\xa3 \xad\xa4\xad\xa5\xad\xa6\xad\xa7\xad\xa8\xad\xa9" | iconv -f euc-jp -t utf-8 
iconv: (stdin):1:0: cannot convert
% printf "\x87\x40\x87\x41\x87\x42\x87\x42 \x87\x43\x87\x44\x87\x45\x87\x46\x87\x47\x87\x48" | iconv -f shift-jis -t utf-8 
iconv: (stdin):1:0: cannot convert

何を提供しますか?

答え1

これらの文字は実際にはこれら3つのエンコーディングには存在しません。実際には、通常のEUC-JPの代わりに、または一般的なISO-2022-JPの代わりにSHIFT_JISの代わりにEUC-JIS-2004別名が必要です。EUC-JISX0213SHIFT_JIS-2004CP932ISO-2022-JP-2004

% printf "\xad\xa1\xad\xa2\xad\xa3 \xad\xa4\xad\xa5\xad\xa6\xad\xa7\xad\xa8\xad\xa9" | iconv -f euc-jisx0213 -t utf-8 
①②③ ④⑤⑥⑦⑧⑨

関連情報