質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

2回答

14750閲覧

Shift-JISファイルをUTF-8Nに変換できない問題

mezzot

総合スコア38

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

1クリップ

投稿2016/03/25 04:48

編集2016/03/25 05:02

もともとShift-JISとして保存していた大量のHTMLファイルを諸事情でUTF-8へ書きかえることになりました。
UTF-8N (BOM無しのもの) として保存したいのですが、どのテキストエディタでも、再度開くとShift-JISに戻ってしまいます。デフォルトの設定はUTF-8Nですし、コピペで新しく保存しても同じ結果になります。
もちろんUTF-8 (BOM付き) としてなら保存できるのですが、アップロードの際にいちいち分別しなければなりません。

・なぜShift-JISのファイルがUTF-8Nにならないのか
・これらのファイルをUTF-8Nにする方法はあるのか

以上について、何卒よろしくお願いいたします。

追記
※Windows環境での作業になります
※使用エディタにTerapadもNotepad+++も使いました。ダメです…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuba

2016/03/25 04:54

Windows環境での作業ということになりますか?
mezzot

2016/03/25 05:08

はい、Windows環境での作業です。Macは備品がなく、使用できません。
guest

回答2

0

ベストアンサー

もしかして、「日本語コードがほとんど(あるいはまったく)入っていない」テキストファイルを変換していないでしょうか。

シフトJISもBOMなしUTF-8も、ASCII文字列についてはまったく同じコード(ASCIIそのまま)ですので、識別ができません。とりわけ、真にASCII文字だけで書かれたテキストファイルであれば、シフトJISからUTF-8Nに変換しても、1バイトたりとも変化しません

ものによっては、「わざと日本語コメントを入れておく」のも一案かもしれません。

投稿2016/03/25 05:35

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuba

2016/03/25 05:41

あ、この可能性が。
mezzot

2016/03/25 05:57

おっしゃる通り、日本語が全くないすべて欧文のテキストファイルになります。 しかしながら、コメントアウトで日本語を入れるおまじないをしたところ文字化けしてしまいやはりSJISに戻るという謎事案が発生してしまったのでこの案はダメなのだと避けておりました。 もう一度日本語を入れて試してみます! ありがとうございます。
mezzot

2016/03/25 07:15

maisumakun様、的確な御回答ありがとうございました。 私もこれだと思います。いろいろと調べたところ、他にも例がございましてて、どうやらTerapadだとデフォルトをUTF-8Nにしていても上記のような理由でSJISと表示される仕様のようです。NotepadなどはデフォルトをUTF-8Nにしていればきちんとこちらで開けて編集できるようでしたので、最終的には「ASCII文字のみ」+「使用エディタ」の問題のようです。 解決の見込みができましたのでこちらで最後にいたします。 本当にありがとうございました!
guest

0

Mac/Linuxなら、ターミナル/端末の「nkfコマンド」でできます。
Macなら「mi」というテキストエディタで簡単に文字コードを変更できます。
Windowsなら「Terapad」で文字コード指定保存ができます。
Windowsのターミナルで「chcpコマンド」を使えばできるっぽい…?

投稿2016/03/25 04:57

編集2016/03/25 04:57
nnahito

総合スコア2004

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mezzot

2016/03/25 05:04

Terapadで「文字コード指定保存」をしているのですが、これをしても再度開くとSJISに戻っているという謎現象なのです… >Windowsのターミナルで「chcpコマンド」を使えばできるっぽい…? 大変ありがたい情報です。こちらで試してみて、結果をご報告したします。
mezzot

2016/03/25 05:06

ご報告いたします。他のテキストエディタでもそうなのですが、「UTF-8(BOM付き)」にはなります。しかし、UTF-8N(BOM無し)にすると、SJISに戻ってしまうのです……」 Windowsのターミナルで「chcpコマンド」を使用する方法は、UTF-8にはなるようです… ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問