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

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

ただいまの
回答率

90.51%

  • FTP

    322questions

    FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

  • UTF-8

    109questions

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

文字化け解消するには

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 2,752

kapimako

score 40

ブラウザであるサイトを見ると文字化けしているのですが、サーバー上の設定や転送で何か失敗は考えられますでしょうか。

phpファイル(shift-jis)なのですが、他のサーバーや、他のドメインにFTPでアップすると 同じファイルなのに文字化けせず見られます。
ちなみに、metaタグと実際のファイル保存形式は同じと確認済みです。

ieのブラウザ上で右クリックするとエンコードがunicode(UTF-8)にチェックがついており、日本語自動にすると文字化けが直ります。

また、utf-8ファイルに変換して、metaタグもutf-8にして再度ファイルをアップしても文字化けしてしまいます。

文字化けは何が原因か・・・ファイルの中身ではない気がしています。

(ちなみに、レンタルサーバはFTP情報だけしか知らないので、詳しいサーバーの設定のルートまでは見られません。VPSとかではなく安価な普通のレンタルサーバーだと思います。)

■追加
httaccessに以下を書いても文字化けします(強制的にShift-jisにする)

AddDefaultCharset shift-jis
AddType "text/html; charset=shift-jis" .html .php

php_value default_charset               Shift_JIS
php_value mbstring.language             Japanese
php_value mbstring.http_input           auto
php_value mbstring.http_output          SJIS
php_value mbstring.internal_encoding    Shift_JIS
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kaz.Suenaga

    2017/02/01 01:19

    FTPクライアントには何をお使いでしょうか。またそのFTPクライアントの「他のサーバにアップするとき」と「問題が起こるサーバにアップするとき」の設定の違いはないでしょうか。(参照 http://muraken720.hatenablog.com/entry/20121204/p1

    キャンセル

  • kapimako

    2017/02/01 12:15 編集

    FTPクライアントは、FFFTPとFilleziilaを両方使って、問題の起こるサーバーと問題の起こらないサーバーを両方試しています。もう少し違いを探ってみたいと思います。アドバイスありがとうございます。

    キャンセル

回答 4

+1

ん〜、他で再現できないとなると、そのページへアクセスできない状態で検証するのは難しそうですね。。。

とりあえず

サーバー上の設定や転送で何か失敗は考えられますでしょうか。

に関しては、サーバー上の設定がうまく行っていないは大いに考えられますけど、転送に失敗して文字化けは可能性は低いんじゃないかなと思います。転送に失敗して文字化けしているだけだったら、何回もロードすれば文字化けしない時もあるはずですし。

一つ質問ですが、 shift-jis という書き方と Shift_JIS という書き方が混ざっている気がしますが、統一はしなくて大丈夫なんでしょうか? ダッシュ - とアンダーバー _ の違いが特に気になってます。
charset sjis で調べるとだいたいのサンプルはアンダーバー _ を使っているので、統一してみるといいかも知れません。

他に見れるところといったら、右クリックの「要素を検証」から「ネットワーク」のタブを開いてレスポンスヘッダを確認したりする事ですかね。。。
見れるサーバーと見れないサーバーを両方すぐに用意できる場合は、通信内容に違いがないか間違い探し風に並べて探していくと案外すぐに原因がわかるかもしれないですよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/01 12:18

    通信内容に違いがないか? ですが、日本のサーバーとアメリカのサーバー(おそらく)かと思います。もう少し違いを調べてみます。アドバイス、ありがとうございます。

    キャンセル

  • 2017/02/01 15:09

    サーバー物理的な場所の違いの他にも、サーバーの設定によって送られてくるデータの属性情報が違ったりする事があるので、そこを確認してみると良いと思います
    Google Chrome を使っている場合であれば下の URL とかを参考に通信内容の違いを調べてみると色々分かるかなと思います!
    http://weback.net/utility/1491/#contents-6

    キャンセル

+1

ほかにも原因があるかもしれませんが、少なくともshift-jisと指定しているので、無効なcharsetと判断されている可能性があります。
正しく、Shift_JISと指定してください。大文字小文字は区別されないはずです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/02 16:38

    すみません、shift_jisとアンダーバーで書いてありました。疲れすぎて・・・違うファイルを見てました。申し訳ありません。。。

    キャンセル

  • 2017/02/02 16:48

    そのレベルの間違いをするということは、ほかにもいろいろ間違えているのではないかと疑ってしまいます。
    落ち着いて、全部見直してください。

    キャンセル

  • 2017/02/02 18:04

    はい。(>_<)ほんとに、すみません。
    サーバー会社(おそらくアメリカ)を変える前のindex.phpファイルが残っていたので全く同じファイルを比較したところ、文字コード、エンコード、改行のファイル設定と、ソースの中身のmetaタグは全く同じファイルでした。

    キャンセル

check解決した方法

0

文字化けしているshift_jisのindex.phpファイルが入っているデータを一式ダウンロードしてきた所、cssやjsのファイル自体の文字コードが全部shift_jisになっていました。
(アップロードした人がおそらくshift_jisでアップしたのだと思われます)
jsやcssをutf-8に直しても文字化けは直りませんでした。
htaccessで強制的にシフトジス(下記htaccessだとshift-jisとハイフンで書いてありました)にしましたが、文字化けは直らず。
http://blog.livedoor.jp/webchan/archives/52965818.html

ieのブラウザのエンコードを見ると、まだutf-8になっていますので、htaccessは効いていない。
文字化けが直ればいいので、逆にindex.phpファイルをutf-8にエンコードしなおして再度アップしたら解消されました。(htaccessは削除)

だいぶ時間かかりましたが、なんとか解消できそうです。皆さまありがとうございました。アドバイスして頂いた方、感謝申し上げます。m(_ _)m

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

パッと思いつく原因は...
1.FTPクライアントソフトの設定ミス
FTPクライアントソフト(FFFTPなど)の文字コード変換が自動になってり、変換するようになってたりしませんか?
うまくいく設定と、うまくいかない設定を見比べてはどうでしょう

2.charsetの記載間違い

ieのブラウザ上で右クリックするとエンコードがunicode(UTF-8)にチェックがついており、日本語自動にすると文字化けが直ります。

htmlのcharsetのmetaタグの記載にミスがあるかもしれませんね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    mb_convert_encodingをajaxで使うと文字化けする

    したいこと CSVを読み込んで文字コードをutf-8に変換してテキストエリアの中に送りたいです。 encode.js //ダイアログでファイルが選択された時の処理 $('

  • 解決済

    文字化けを直したい

    前提・実現したいこと 日本語を出したい 発生している問題・エラーメッセージ 文字化けしてしまい英語はでるのだが 日本語が???になってしまいまったく読めない。 該

  • 解決済

    file_get_contentsでhttpsサイトのソース取得が出来ない

    前提・実現したいこと PHPでHTMLソースコードの取得を行いたいです。 発生している問題・エラーメッセージ file_get_contentsでHTTPのサイトだと取得

  • 解決済

    phpでのxml要素削除の方法が分かりません

    xmlのファイル <?xml version="1.0" encoding="Shift-Jis" ?> <root> <section id =0001 name="あああ

  • 解決済

    文字がおかしい

    文字がおかしくなります、下のような文字です 繧医≧縺薙◎�橸ス槭∈閾ェ蟾ア邏ケ莉� 讎ょョケ 繝九Η繝シ繧ケ �橸ス�    �橸ス橸ス� 縺ゅ≠縺� 縺ゅ≠縺ゅ≠縺�

  • 解決済

    サイトを文字化けを解決したい

    プログラミング初心者です。 ほとんど書いたことがありません。 ですのでネットで調べながら質問しています。 前提・実現したいこと サイトを文字化けせずに表示したい

  • 解決済

    mysqlについて、文字化けが起こっています

    PHPとmysqlでログインシステムをつくっています。 番号とパスワードを入力したら、次のページでログインしている名前が出てくるというものです。 発生している問題・エラ

  • 解決済

    <PHP>CSV読み込み表示文字化け

    PHPでCSV読み込み表示をしたいのですが、下記のように文字化けしてしまいます。 <?php setlocale(LC_ALL,'ja_JP.UTF-8'); $csv = a

同じタグがついた質問を見る

  • FTP

    322questions

    FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

  • UTF-8

    109questions

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