Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

sublime text2 > ファイルをUTF-8からShift_JISに変換 > .hファイルは文字化けする > 秀丸:別ファイル名でShift_JISに変換 / ST2:Save Asで元のファイルに保存

More than 3 years have passed since last update.
動作確認
Sublime Text2 + ConvertToUTF8

はまった

UTF-8で保存してしまったファイルをShift_JISに変換しようとしてはまっている。

変換は秀丸でファイル保存時にエンコーディング変換をしている。

  1. .cppファイル : 変換可能
  2. .hファイル : 変換してもASCIIとなり失敗

.hファイルを別の名前の.hファイルにすると Sublime Text2 で開いた時にShift_JISとなるが、元の.hファイルの名前ではASCIIとなる。

Sublime Text2がファイル名に対応するEncoding情報を保持してしまっているのだろうか?

try1

以下の解決策を思いついた。

  1. 秀丸にて元とは違う.hファイル名で保存 (例: xxx.h)
  2. xxx.hファイルをSublime Text2で開く -> 文字化けしない
  3. Sublime Text2のSave As...にて元の.hファイル名で保存

別の名前のファイル名では文字化けしない点を利用。

try2

上記の方法でも文字化けが解消しない時があった。

以下の対応で解決した。
1. 秀丸にて元とは違う.hファイル名で保存 (例: xxx.h)
2. xxx.hファイルをSublime Text2で開く -> 文字化けしない
3. 元ファイルをSublime Text2で開く
4. 2で開いたファイルの内容をコピーして(ctrl+C)、3で開いたファイル内に上書き(Ctrl+V)して、ファイル保存する。

try 3

try2でうまくいかない場合、try2の方法の中で以下もやってみる。

[File]-[Set File Encoding to]-[Japanese (Shift_JIS)]

try 4

(追記 2016/02/22)

秀丸を使わなくてもSublime Textで

[File]-[Set File Encoding to]-[Japanese (Shift_JIS)]

をしてSaveするだけでも変更できる場合がある(失敗する場合もある)。

ソースをgitで管理している場合は、とりえあずこれをやってみて、失敗した時には変更を破棄して上記のいずれかを試す、というのがよさそう。

7of9
セブンオブナインです。Unimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。まとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。いわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.
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