文字コードが変わってしまう理由とは?

このQ&Aのポイント
  • Webページ作成関連の市販のテキストについているサンプルコードを自分のマシンにコピーして勉強しています。WindowsXPとWindows7を使っています。
  • 文字コードが矢印に変わってしまうタイミングがあります。さらに、他のマシンで同じファイルを開くと文字コードが再度変わってしまうことがあります。
  • 文字コードの変更や環境の違いが原因とされています。書籍のサンプルファイルの文字コードを変換したことが影響している可能性もあります。しかし、具体的な理論については詳しくはわかりません。
回答を見る
  • ベストアンサー

文字コードが変わってしまう

Webページ作成関連の市販のテキストについているサンプルコードを自分のマシンにコピーして勉強しています。WindowsXPとWindows7を使っています。 たとえば、【今日問題なく使った】のに、翌日同じHTMLファイルのソースを見たら、文字コードが矢印に変わってしまっています。 改行コード変換ソフトで変換して、また元に戻して作業をしました。 翌日、他の部屋のマシン(WinXP)でそのファイルを開いたら、また文字コードが矢印に変わっていました。 詳しいことはわからないレベルですが、状況だけ書いてみました。 文字コードが変わってしまうタイミングってあるのでしょうか。関係ないかもしれませんが、書籍についてきたサンプルファイルの文字コードはUTF-8なので、文字コード変換ソフトでShift_JISに変更しました(なぜShift_JISにしたかは、特に意味はありません。UTF8がいいというのは聞いていますが、とりあえずShift_JISでやっています)。 難しい理論は理解できないと思いますが、どうしてそうなるかを教えていただける方がいたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ponta1971
  • ベストアンサー率30% (361/1191)
回答No.1

エディタに何を使ってるか分かりませんが、文字コードを変換後、そのコード(今回ならSHIFT_JIS)で保存していますか?

usausa7
質問者

お礼

保存時の確認をしていませんでした。 文字コードを変換したら、保存時のコードも確認しないといけないことをスッカリ忘れていました。 ありがとうございました。

その他の回答 (2)

  • 123admin
  • ベストアンサー率52% (1163/2214)
回答No.3

訂正 Windows内部コードUTF-8 じゃなく UTF-16でした。  

  • 123admin
  • ベストアンサー率52% (1163/2214)
回答No.2

使っているエディタの漢字コードのデフォルトが違うかもね。 ちなみにWindows2K以降の内部文字コードはUTF-8になっています。 文字コードを変換する http://www.atmarkit.co.jp/fwin2k/win2ktips/395codeconv/codeconv.html Webなどで文字コードはUTF-8を使う様にしたほうが文字変換の手間が掛からない。 シフトJISって苦肉の策のコード体系だから思わない落とし穴があったりしますよ。

usausa7
質問者

お礼

ありがとうございます。 UTF-16というのは知りませんでした。 Web試験のファイルがShift_JISなので、あえてShift_JISを使っている状況です。

関連するQ&A

  • 【フォルダ名の文字コードを変換したい】

    【フォルダ名の文字コードを変換したい】 Windows Vistaです。 Windowsではフォルダ名にShift-JISを使っていますが、とあるプログラムが日本語を読み込む際、文字コードがUTF-8でないと読み込めないようで、フォルダ名に日本語を含むフォルダを参照すると文字化けしてしまいます。 なのでフォルダ名をUTF-8に変換したいです。 検索するとLinux上でShift-JISのフォルダ名をUTF-8にしたり、Windows上でもファイルの内容をShift-JISからUTF-8に変換したりする方法は見つかるのですが、Windows上でフォルダ名をUTF-8に変換する方法が見つかりません。 UTF-8に変換するとエクスプローラ上では文字化けするので、需要がないのでしょうか。 コマンドプロンプトとか苦手なので、何かフリーソフトでもあればいいのですが…

  • 数クリックで文字コードを変換したい

    csvファイルの文字コードを数クリックでUTF8→shift-jisに変換したいのですが、何か良い方法はございませんか? いろいろと調べてみたものの、どれもむずかしく困っております。

  • 文字コードについて(どのファイルをどの文字コードにしてWeb開発を進めていくべきか)

    【疑問の背景】 文字コードについて(どのファイルをどの文字コードにしてWeb開発を進めていくべきか)   国際標準で使われているUTF-8で統一しておけば問題はないだろうと思って開発を進めていると・・・   UTF-8は「日本語が2~4バイト」で扱われるという、バイトの扱いが厄介であるため、   できればJavaでのUTF-8で開発は避けたい、だから「Shift-JIS」にしておきたいという話があがり、   各々のファイルにどの文字コードを設定すれば良いのかがわからなくなっている状態です。    いくつかの疑問がでていまして  判る範囲で構いませんので文字コード設定の判断についてのアドバイスいただけませんでしょうか? 【現在の開発文字コード】 HTMLファイル: UTF-8 JSPファイル: UTF-8 Javaファイル(servlet): UTF-8 Javaファイル(Bean): UTF-8 Javaファイル(JSPから出来たサーブレット): UTF-8 データベース: UTF-8 【設定したい今後の予定文字コード】 HTMLファイル: UTF-8 JSPファイル: UTF-8 Javaファイル(servlet): Shift-JIS Javaファイル(Bean): Shift-JIS Javaファイル(JSPから出来たサーブレット): Shift-JIS データベース: UTF-8 【疑問1】 javaファイル(servlet,Bean)をどのコードにすべきかについて  全てS-JISにした方がいいのか、UTF-8にした方がいいのかどうあるべきなのでしょうか?  (UTF-8 で 「日本語が2~4バイト」として扱われると、どういった弊害が発生するのでしょうか?) 【疑問2】 javaファイルをS-JISに変える方法について  今はサクラエディターというツールで  名前を付けて保存 → 文字コードセット「Shift-JIS」 → 保存 → ファイル名の文字コードセットの変更完了    今はエクスプローラーから直接フォルダの中にあるファイルを触っている状況なのですが、  eclipseから「ファイルの文字コードセットを変更する方法」はありますでしょうか? 【疑問3】 「Shift-JIS」に設定して開発していく必要性について  既存で「utf-8」で設定されているjavaファイルを、「Shift-JIS」に設定して開発していく必要性はあるのでしょうか? (all in one eclipse 3.4 を入れたとき、デフォルトで「utf-8」でjavaファイルが作られるつくりになっているみたいなのですが・・・)   【疑問4】 javaファイル作成時、「Shift-JIS」の形式でファイルを生成する方法について     現在、javaファイルを作成する場合「utf-8」のコードでjavaファイルが生成されるようになっています。      【自作で作成したjavaファイルの場合】    「サクラエディターを使用して、文字コードセットをShift-JISに変更すれば、ずっとShift-JISのファイルの状態」にすることができました。      しかしここで問題が出たのですが      【JSPファイルから自動生成されたjavaファイル(servlet)の場合】    「サクラエディターを使って、Shift-JISに変更した後に、JSPファイルを編集すると、また“utf-8に戻ってしまう” 状態」です。    現状としては「JavaファイルはShift-JISに統一して欲しい」という要望なので、    JSPから自動生成されたjavaファイルが "utf-8" になってしまいます。      JSPから自動生成されたjavaファイルを    "常にShift-JISに設定する" 方法はありますでしょうか?     【環境】  OS   ・WindowsXP Pro    java開発環境   ・all in one eclipse(3.4)   ・TomCat(6.0)   ・Java JRE(1.6)   ・MySQL(5.0)

    • ベストアンサー
    • Java
  • ファイルコードの変換の問題

    現在、shift-jis ファイルをUTF-8に変換するところです。 使っているソフトはGNU の iconvです。バージョン1.10です。 iconv -f SHIFT_JIS -t UTF-8 a.txt > b.txt で文字コードが変換されていない 詳しい方が教えていただけないでしょうか

  • PHPの文字コードどのように設定すればいいですか?

    PHPをテキストエディタ(TeraPad)で、書こうとしているのですが、文字コードの設定がわかりません。 初期文字コード SHIFT-JIS JIS EUC Unicode UTF-8 UTF-8N いろいろあってどれを選んだらいいのかわかりません。 今はSHIFT-JISにしてます。 保存文字コード 自動 今は自動にしてます。 初期改行コード CR+LF 今はCR+LFにしてます。 保存コード 自動 今は自動にしてます 間違っている、又はこちらのほうがいいというのがありましたら是非教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • 文字コード変換ソフト

    いつもお世話になっております。 文字コード変換ソフトで 1、Shift-Jis→UTF8の文字コード変換 2、ディレクトリ指定をすることにより再帰的に文字コード変換してくれる。 上記2点をみたしているフリーソフトをご存知でしたらおしえてください。 1項をみたしているフリーソフトはみつけることができたのですが、2項もみたしているフリーソフトをみつけることができませんでした。 よろしくお願いします。

  • ファイルの文字コード変換

    一度Shift-JISコードで作成したファイルを、そのままの状態でEUCコードに変換することはできないのでしょうか? ◇試したこと 1)文字コード変換ツール(フリーソフトを2,3種類) 2)インターネットエクスプローラで開いて文字コード変換 ◇結果 1)いずれも変換されなかった 2)変換されたが元のファイルのテキストが崩れた かなりたくさんShift-JISファイルがあるので困っています。 いい方法を御存知の方がいらっしゃいましたら御教授いただければ幸いです。

  • 文字コードの判別について

    とあるテキストファイルがあります。UNIX上で文字コードの判別を行いたいのですが、nkf --guess test.txtと打って調べると、 test.txt: ASCII (CRLF) となります。このファイルは、Shift-JISだという判定だと思います。 ファイルをUTF8に変換したいので、(1)Windows上のエディタ(秀丸)の機能を使ってUTF8に変換してからUNIX上にアップロードしたり、また(2)UNIX上から直接nkf -w --overwrite test.txtを実行して変換したりしたのですが、nkf --guess test.txtを打って調べると相変わらず test.txt: ASCII (CRLF) のままです。 色々調べた結果、ファイルの中身が英数字のみしか書かれていないので、nkfがこのファイルをShift JISだと「推測」しているということがわかってきました。確かに、試しにファイルの中身に日本語を書いて保存して実行してみると、ようやくnkf --guess test.txtの結果が test.txt: UTF-8 (CRLF) と表示されるようになりました。 これらの結果は、ファイルの中身のマルチバイト文字のコードを見て初めて文字コードがわかるようになるというように思えます。 私の理解ではファイル自体にEUCやShift JIS、UTF-8などの文字コードがあるものとばかり思っておりました。つまり、test.txtの内容が"This is a pen."であったとしてEUC、Shift JIS、UTF-8では全く異なる三種類のファイルが存在し得るものだと思っておりました。しかしこれは私の理解が間違っていて、英数字であれば常にShift JISであり、マルチバイト文字があって初めてUTF-8なのかEUCなのかShift JISなのかが決定されるということなのでしょうか? 英数字のみのファイルでもUTF-8ファイルという前提を確認する方法はないのでしょうか? 宜しくお願いします。

  • dreamweaverで文字コード変換したらレイアウト崩れ。。

    dreamweaver cs3でエンコードutf-8のページを作りました。 わけあって、途中でファイルをShift_JISに変換し、外部ファイルCSSもあわせてShift_JISに変換。 その後、タグなど部分修正していたらレイアウトが崩れてしまったので、色々いじりながらまたもや文字コードを元のutf-8に変換したところ、レイアウトが直りました。 ほっと一安心して、タグなど修正してしばらくすると、またレイアウトが崩れてしまいました。。。 エンコードを変換したにも関わらず、外部CSSファイルの文字コードはutf-8なのにHTMLファイルの方は「Shift_JISで書かれているようです。」というエラーが出ます。 HTMLファイルのコードも修正してるので、そんなはずはないのですが、一度Shift_JISに変換した際にShift_JISの書き方に自動整形されてしまったということなのでしょうか? ど素人なので何が何だかさっぱりわからないので、わかりやすく教えてくださる方、よろしくお願いいたします。 あと、左にメニューがあるレイアウトで、右側のメインコンテンツが右側に来ないで左サイドメニューの下に表示されるのは何故でしょうか? dreamweaverでは普通に見えてますが、ブラウザで見ると右側に来るべきコンテンツが左サイドの下にきてしまいます。。。

  • Webの文字コードについて

    しばらくWeb制作から離れていまして、久しぶりなのですが、DreamweaverCS3のデフォルトの文字コードがUTF-8になっていました。 以前(MX2004の頃)はshift-jisだったと思います。 文字コードの知識もあまりなく、shift-jisにしておけば無難・・ということでそれに従っていただけなのですが、いまはUTF-8が普通なのでしょうか? UTF-8に変わった理由も知りたいです。