Help us understand the problem. What is going on with this article?

nkfでCP932←→UTF-8の変換をする

More than 1 year has passed since last update.

入力文字コードを自動判別させる場合

デフォルトではCP932←→UnicodeではなくShift_JIS←→Unicodeの変換をしてしまう。
CP932←→Unicodeの変換をさせるには--cp932オプションを指定すれば良い。

# CP932 → UTF-8
$ nkf -w --cp932 cp932.txt > utf8.txt

# UTF-8 → CP932
$ nkf -s --cp932 utf8.txt > cp932.txt

ただしこの--cp932man nkfに説明が書いていない。

入力文字コードを明示的に指定する場合

# CP932 → UTF-8
nkf --ic=CP932 --oc=UTF-8 cp932.txt > utf8.txt

# UTF-8 → CP932
nkf --ic=UTF-8 --oc=CP932 utf8.txt > cp932.txt

参考:cp932からunicodeへ変換した場合に異なる文字

          CP932→Unicode     Shift_JIS→Unicode
0x8160    ~    U+FF5E      〜    U+301C
0x8161    ∥    U+2225      ‖    U+2016
0x817C    -    U+FF0D      −    U+2212
0x8191    ¢    U+FFE0      ¢    U+00A2
0x8192    £    U+FFE1      £    U+00A3
0x81CA    ¬    U+FFE2      ¬    U+00AC

https://sites.google.com/site/fudist/Home/vim-nihongo-ban/mojibake/utf8-cp932conv

aosho235
1981年生まれ。駅すぱあとの会社で新規サービスを開発しています。好きなレイヤーはOS~ミドルウェア。好きなことは開発を楽にするためのツールやフレームワークの整備、自分自身が便利と思うものを作ること。新しいものを追うより、自分が自信を持って使える技術で効率的に開発するのが好き。そのため使うライブラリやサービスの挙動は仔細に把握しておきたいものです。
https://aosho235.com/
val
経路検索システム「駅すぱあと」をはじめ、全国のデータと高い信頼性をベースにさまざまなサービスを展開。
https://www.val.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away