人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php4.2win
文字化けに関して

スクリプトを呼び出すと文字化けします。
直すにはどうすればいいですか?

fileA.php 文字コード:シフトJIS保存
=================
<?php
require('test.php');
?>
=================

test.php 文字コード:シフトJIS保存
=================
<?php
print("こんにちは");
?>
=================

test.phpを呼び出すと文字化けします。直すにはどうすればいいですか?原因は何でしょうか?
?サーバーの文字コードでしょうか?
?fileAの呼び出し方法を変えるのでしょうか?どうエンコードすればいいですか?
※test.phpとfileA.phpのシフトJIS保存は変更できないとして

おねがいします

●質問者: rrr3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP print require test こんにちは
○ 状態 :終了
└ 回答数 : 4/5件

▽最新の回答へ

1 ● studioes
●23ポイント

PHP以前にHTMLのヘッダを付けましょう。

ヘッダ内でメタタグとして

<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

を設定します。

http://q.hatena.ne.jp/

◎質問者からの返答

ありがとうございます!

試します。


2 ● GEN111
●23ポイント
<?php
header('Content-Type" content="text/html; charset=shift_jis') ;
?>

PHP でやるなら header 関数にした方がいいと思いますが。

先頭に、少なくとも html や print などの出力の前に書いてください。


PHP: header - Manual

◎質問者からの返答

ありがとうです。

header('Content-Type" content="text/html; charset=shift_jis')

エラーになります。"や'の書き方は上記でOKですか??


3 ● GEN111
●22ポイント

すみません。

header("Content-Type: text/html; charset=shift_jis") ;

これで。


エラーの場合はできるだけエラーメッセージも書くようにしてください。

PHP: header - Manual


4 ● tezcello
●22ポイント

多分タイプミスだと思いますが、

" は不要なのでは?


単純に print 文で表示をしようとするとブラウザには使用している文字コードがわからないので、文字化けする可能性が大です。

このあたりについては、先の回答者さんの対応でよいかと。


他には環境への依存が大きいので色々チェックしないと何が原因かは指摘が難しいです。

(いまどんな設定になっているかは、phpinfo() で詳しく表示してくれます。)

http://www.php.net/manual/ja/ref.mbstring.php

mbstring.language

mbstring.internal_encoding

phpの内部エンコードが ShiftJIS でない場合、require で読み込む時に内部エンコードで書いているものだと勝手に解釈されているかもしれません。


mbstring.http_output

http出力時に違うエンコードとしているかもしれません。


mbstring.encoding_translation

今回は関係ないですが、フォームからの入力を自動で内部コードに変換してくれていたのに気が付かなくて、途方に暮れた事もありましたね。


という訳で、僕は php でスクリプトを書くときにおまじないとして以下のようなのを書いています。

(xml書類を扱う事が多いのでエンコードは UTF-8 にしています)

set_magic_quotes_runtime(false);
ini_set('mbstring.http_input', 'pass');
ini_set('mbstring.http_output', 'pass');
mb_language('ja');
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');
◎質問者からの返答

とてもわかりやすいです。

ありがとうございます!

※でも私にはまだまだ難しいです・・がんばります

そしたら、よくシフトJISを使う私は、どういうおまじないを使えばいいでしょうか?

あと1点、おまじないは下記のように書けばいいですか

==================

カッコ?

おまじない

カッコ?

==================

あと、一行ずつおまじないの

解説をお願いできますでしょうか?

おねがいいたします

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ