• ベストアンサー

文字化けについて質問です。

文字化けについて質問です。 例えば、 text.txt(あいうえお) とテキストファイルにあります。 そのファイルを読み込んで、 echo "$a"; で表示すると、文字化けします。 ファイルの中身がaaaaaaのように英数字なら普通に表示されるのですが・・・ <meta http-equiv="Content-Type" content="text/html; charset=shift-jis" /> と今は定義しています。 utf-8にしても文字化けしてしまいます。 解決策はあるでしょうか?

noname#129137
noname#129137
  • HTML
  • 回答数4
  • ありがとう数7

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

  • ベストアンサー
  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.1

txtファイルとhtmlファイルの文字コードが違うからです

noname#129137
質問者

お礼

簡単にテキストファイルを再度文字コードを変えてhtmlページで表示される文字コードと同じにして保存すると、きちんと表示されました。 では、どうしてテキストファイルに書き込む時、ファイルが存在しないなら作成して書きこんだ時のファイルの文字コードがANSIになるのはなぜなのでしょうか? 書き込むときにファイル存在しないとき、作成されるファイルの文字コードは指定できないのでしょうか?

その他の回答 (3)

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.4

ORUKA1951さん、それ無関係です。(ごめんねっ) たしかに質問者が、すでに間違っていますが、 これPHPの外部インポートの問題です。(で、それがどこにも書いていないのですが) >書き込むときにファイル存在しないとき、作成されるファイルの文字コードは指定できないのでしょうか? Momongar-Z さんの意見が正しいです。 自分のエディターの機能を覚えるしかないでしょうね。 >文字コードがANSI これ。。なんですか?文字コードの名前としてはつかいませんから、そこから 設定がすでに問題になるのかもしれません。 もしも可能であれば全部を「UTF8」にできると今後の作業が楽になると思います。 SJISは主に日本語に最適化され EUCはEUC-Jのことを挿しているのでまた日本語向け UTFはユニバーサルを意識して作られたため、言語コードに国名も含まれ 安全に使用できます。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

シェルスクリプトだとして・・ #!/bin/sh TEXT = './test.html' echo 'Content-type: text/html; charset=Shift_JIS' echo '' cat $TEXT でないと・・・駄目だよ。

回答No.2

>ファイルの文字コードがANSIになるのはなぜなのでしょうか? >作成されるファイルの文字コードは指定できないのでしょうか? これはあなたが使っているテキストファイルを作成するソフトウエアの問題。 どんなソフトを使っているのか分かりませんが、あなたが上手く使えていないのだろうと思います。

関連するQ&A

  • HTMLの文字化け

    自分で立ち上げたサーバへWindoswで作成したHTMLをアップしてブラウザから表示の確認をしてみたところ、日本語が文字化けてしまいました。 ヘッダーには <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> として、文字コードをUTF-8にしてあるのですが、この部分を <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" /> とShift-JISにしてみると、日本語の文字化けが解消します。 できればcharset=UTF-8の状態で文字化けせずに表示してくれるようにしたいのですが・・・ どなたか原因がお分かりになる方いらっしゃいましたら、ご教授のほどお願い致します。 テキストエディタはK2Editorを使用しており、「保存時の文字コードと改行種類の変更」でHTMLファイル自体の文字コードは「Shift-JIS」、改行コードは「CRLF」としております。 サーバは、CentOS5.4を使用しており、 コマンドで # printenv | grep LANG の結果は、 LANG=ja_JP.UTF-8 となっております。

    • ベストアンサー
    • HTML
  • 文字化けを解決したい

    サイトを持つ管理人です。タグなどについてはかなり初心者です。 iPhoneなどの海外OSから閲覧すると文字化けしてしまうという報告を受けて、タグを色々いじっています。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を追加してみたのですが、これ単品だと私のPCから閲覧したときに文字化けしてしまいました。 そのため<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">と<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を並べてみたのですが、これで海外OSからも文字化けを起こさなくなったのでしょうか? こんな感じのタグです↓ <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <META NAME="GOOGLEBOT" CONTENT="NOINDEX, NOFOLLOW,NOARCHIVE"> <META NAME="ROBOTS" CONTENT="NOARCHIVE,NOINDEX,NOFOLLOW"> <meta name="viewport" content="width=380, maximum-scale=1.6" /> <title>練習</title> </head> 全てのスマホからもサイトを閲覧出来るようにするにはどうしたら良いでしょうか?それとも、全てのスマホから文字化けを防ぐことは不可能なのでしょうか? お知恵をお貸しください。

  • Dreamweaverでソースが文字化けしてしまいました。

    Dreamweaverでソースが文字化けしてしまいました。 メタタグが <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> になってたので、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> に修正して、保存して終了したあとに、再度Dreamweaverで開いたところ、ソースが全部文字化けしてしまいました。 元に戻そうと、メタタグをもとのutf-8に戻しても直りません。 メタタグをShift_JISにして、ページプロパティのエンコーディングをShift_JISに合わせると、ソース全部が文字化けしていた状態は直ったんですが、ところどころ文字化け状態のままになっています。 完全にもとの状態に戻したいのですが、どうしたら文字化けが直るのでしょうか。 教えてください。 よろしくお願いします。

  • xml宣言の文字コード変更

    xhtmlとcssでのコーディングを行った際、途中で「UTF-8」で作成してと言われました。 そのため、作成していたコードの冒頭をshift_jisからUTF-8にかきかえてみたところ、文字化け。ブラウザの表示をUTF-8に変えても化けたままなので、作業にならんと宣言をshift_jisに戻しました。 が、書き換えても文字化けが直りません。 宣言自体を消して保存しなおしたりもしたのですが、以前文字化けたままです。 テキストエディタで見るとちゃんとshift_jisになっているのですが、 これはどうすれば直るものなのでしょうか? 手を入れたのは以下の二行になります。(抜き出してるだけですので実際はheadタグ等を挟んでいます) 初期 <?xml version="1.0" encoding="shift_jis"?> <meta http-equiv="content-type" content="text/html; charset=shift_jis" /> ↓ UTF-8に書き換え <?xml version="1.0" encoding="UTF-8"?> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> ご教授ねがいます。

  • PHPをhtmlに読み込んだファイルが文字化けする

    お世話になります。 通常のHTMLファイルにWordPressを生成し、WPでブログを書いたファイル(/wp/index.php)を読み込んで、表示させたいと考えております。その件に関してはなんとか表示できるようになったのですが、私が作ったhtmlファイル(/wp/index.html)はShift-JISで、 WordPressが吐き出してるブログ(/wp/index.php)はUTF-8で文字コードが違うので、ブログ部分のみ文字化けが起こります。それで上記のように/wp/index.htmlのcharsetをShift-JISからUTF-8へ変更しました。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> ところが「テキストコーディングエラー」とポップアップが起こりました。「設定したテキストエンコーディングで保存済みですが、テキスト中のcharset設定と一致していないので、ブラウザ等で表示すると文字化けする可能性があります」とのことです。その結果、今度はブログ部分がちゃんと表示され、HTMLで作成した部分は文字化けするようになりました。これはPHPの問題ではないかもしれませんが、原因がどうにも分かりません。もしかしたら初歩的な質問をしているかもしれませんが、よければ教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • 文字化け

    HPを少しずつ作っているのですが、少しだけできたのでyahooのところにアップしてみました。しかし文字化けしてしまいました(涙) <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> このタグが関係あるのでしょうか? IE6

  • 一括置換で、すべてが文字化け!

    こんばんわ。 HTMLのcharsetをドリームウィーバーで一括置換したところ、 文字化けしてしまいました。 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> を下記のように一括置換で変更しました。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> UTF-8に一括置換で変更しました。 一括置換したところ、一括置換したHTMLのソースが全て 文字化けしてしまいました。 なぜでしょうか? 手打ちで変更しても何も問題は無かったのですが、一括置換を すると文字化けしてしまいます。 ドリームウィーバーの問題なのでしょうか? ドリームウィーバーはCS3を使用しています。 ご存じのかたがいらっしゃいましたら、ご助言頂けませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • HTMLモードでの文字コードの変更について

    ホームページV4 Shift_JIS を UTF-8 に変更するにはどのようにすればいいのですか? <meta charset="shift-JIS"> → <meta charset="UTF-8">との回答していただきありがとうございます。ただ <meta http-equiv="Content-Type" content="text/html; ch。arset=Shift_JIS"> をどのように変更したらいいのかわかりません。HTMLモードで書き換えても文字化けします。よろしくお願いします。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • javascriptのalertで文字化けが解消されません。(外部js

    javascriptのalertで文字化けが解消されません。(外部jsファイル読込による) htmlファイル <meta http-equiv="Content-Script-Type" content="text/javascript"> <script language="JavaScript" src="**/**.js" charset="shift_jis"></script> いろいろ調べまして、charset="shift_jis"を指定したり、utf-8にしましたがうまくいきません。 jsファイル function testalert() { alert('テスト'); } ご教授をよろしくお願いします。

  • 文字表示の設定方法について

    このサイトの文字化けについての質問です。 http://www.hempkitchen.jp/ 左メニューに、twitterヴィジェットが表示されていたのですが、先日から表示がされなくなり 原因をリサーチしていた時に <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">を <meta http-equiv="Content-Type" content="text/html; charset=utf-8">に変更したら、 twitterヴィジェットは表示されたのですが、 jsで管理しているメニューが文字化けしてしまいました。 下記3つのjsファイルで管理しているメニューです。 <script language="JavaScript" src="hempkitchen.js"></script> <script language="JavaScript" src="js/footer1.js"></script> <script language="JavaScript" src="footer2.js"></script> 一応、cssファイルもチェックしました(@charset "shift_jis";)となっていたので。 こちらのファイルを@charset "utf-8";に変更してみましたが、文字化けしたままでした。 いろいろ調べてみたのですが、困っています。 ご回答、よろしくお願いします。

専門家に質問してみよう