
現在[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ランキング
-
mb_http_output()のあと、サー...
-
PHPでCSV出力時の文字化け(一部)
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
Apache 2.4でphp-5.3を使いたい...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
header(Location:~)で$_SESS...
-
さくらインターネットでメール...
-
フォームで戻った際に入力済み...
-
PHPでメールを受信するには?
-
php4とphp5での数値の取り扱い...
-
PEAR(Image_QRCode)のエラー
-
テレメールとは?
-
再度、xamppにおけるjpgraphの...
-
<A href ~ と一緒に値を渡すには
-
PHP版のPDFlibのインストール
-
【PHP】tmp_nameの命名規約につ...
-
PHPからMSSQLへの接続結果の文...
-
phpのextension_dirを複数指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPExcelで日本語(漢字)ファ...
-
mysql utf8、php・euc-jp で出...
-
CSVファイルの読み込みで日本語...
-
ハシゴの「高」が「?」に置き...
-
POST文字列が化ける(外字)
-
エンコーディングについて
-
euc-jpからutf-8の文字コード変...
-
phpのhex2binについてphpで、ut...
-
SJISのダメ字について
-
PHPフォーム→PHP確認画面で...
-
i18n_convert と mb_convert_e...
-
$_GETで2バイト文字列を取得す...
-
htaccessでの文字コード設定に...
-
scandir関数取得結果の文字化け
-
PHP関数mb_send_mailで送信する...
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
おすすめ情報