
現在[PHP4 + MySql4.0.17]を利用したWebシステムを構築しています。
携帯での閲覧にも対応するため、携帯ページの文字コードをShift_JISにしたいと思っているのですが、MySqlのデータ文字コードはEUC-JPのため、ページ表示の際に文字化けしてしまいます。
現在、携帯用ページのトップディレクトリのhtaccessにて以下の設定を記述していますが、表示される文字コードはEUC-JPのままです。
------------------------------------------------
AddDefaultCharset SHIFT_JIS
php_value mbstring.http_input "auto"
php_value mbstring.http_output "SHIFT_JIS"
php_value mbstring.internal_encoding "SHIFT_JIS"
-------------------------------------------------
もし上記の設定に間違いなどがあれば、ご指摘いただけないでしょうか。
宜しくお願い致します。

No.1ベストアンサー
- 回答日時:
htaccessは使ったことがないですが、php.iniに設定する場合には以下のようにします。
というわけで、あくまで参考情報です。;レスポンスHTTPヘッダに Content-Type: text/html; charset=Shift_JISを出す
default_charset = "SJIS"
;フォーム入力はSJIS
mbstring.http_input = SJIS
;内部エンコーディングはEUC
mbstring.internal_encoding = EUC-JP
;HTML出力はSJIS
mbstring.http_output = SJIS
;入力変換を行なう(入力SJIS→PHP内部ではEUC)
mbstring.encoding_translation = On
;出力変換を行なう(PHP内部ではEUC→出力SJIS)
output_handler = mb_output_handler
output_buffering = On
携帯の絵文字は恐らく使えません。
回答ありがとうございます。
こちらで色々とプログラムを調べていたところ、原因がわかりました。
内部エンコーディングをEUC-JPにしているにも関わらず、
作成したPHPファイルはSJISで保存していたのが原因でした。
PHPをEUC-JPで保存後、htaccessやmbstringでの設定で正常にテキストが表示されています。
No.3
- 回答日時:
php.iniの内部文字コードをEUC-JPにする。
HTMLのプログラムのメタタグ内に"charset=sjis"を記述する。
DBから取り出す際にmb_convert_encoding($txt, "SJIS", "EUC-JP");
これでよいでしょう
No.2
- 回答日時:
うまく動いてくれない場合は、面倒でも明示的にエンコードしなおせば確実です。
$txt = "日本語";
echo mb_convert_encoding($txt, "SJIS", "EUC-JP");
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
PHPを使って、別サイトの一部を...
-
ファイルの遷移がうまく行われ...
-
submitで思うようにページが遷...
-
BASIC認証のフォームをデザイン...
-
重複を防ぐ記述について教えて...
-
PHPで画像の渡しが上手く行きま...
-
htmlspecialcharsが機能してい...
-
PHPについて。
-
phpでcookieがうまく保存されない
-
phpでこの記述をもっと簡単に書...
-
php エラー
-
PHP MySql 画像を取得
-
PHP でメールフォームを作成したい
-
marginの値でマイナス値を設定...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エンコーディングについて
-
Content-Typeが機能していない?
-
mail関数を使った際の文字コー...
-
scandir関数取得結果の文字化け
-
携帯サイト制作をしておりまし...
-
PHP関数mb_send_mailで送信する...
-
PHPの文字化け
-
i18n_convert と mb_convert_e...
-
$_GETで2バイト文字列を取得す...
-
日本語表示する方法について
-
データベースから取り出した日...
-
文字化け
-
ajax 文字化け euc-jp
-
htaccessでの文字コード設定に...
-
[PHP+MySQL]DBがEUC,出力...
-
phpMyAdminで文字化け
-
PHP4の文字コード
-
PHPの文字化けした文字だけ削除...
-
phpMyFaqでの文字化けについて
-
SJISのダメ字について
おすすめ情報