このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

phpとoracleを用いたシステムでの文字化け このメッセージに返信する
日時: 2015/08/05(Wed) 11:06
名前: hsmt
URL:

phpとoracleを用いたシステムでwebサイトを構築しているのですが、
ブラウザからアクセスしページ表示した際に、全角文字が文字化けしてしまいます。

◆環境
webサーバ:apache, php, oracleClient, PDO_OCI
DBサーバ:oracle
DBデータアクセス方法:PDO

◆事象の詳細
文字化けといっても必ず
????
とクエスチョン続きで表示されます。

上記webサーバのコマンドラインでphpのバッチを実行したところ、
コマンドライン上では正常に全角文字が表示されます。
まったく同じバッチをwebブラウザからhttpでアクセスを行ったところ、
文字化けしてしまいます。

ブラウザでの表示が悪いのではと思い、
phpのバッチ実行時に結果をテキスト出力させる処理を追加したのですが、
コマンドラインで実行した際は正常に出力され、ブラウザでアクセスした際は内容が文字化けして出力されました。
上記事象からアパッチが影響してるのではと考えられるので、
webサイトごと個別のhttpd.confの設定ファイルに NLS_LANG を設定したのですが、
結果は変わりませんでした。

文字コードの指定がない(正しくない)から文字化けするというよりは
DBサーバから取得する文字列をどう受け取って(扱って)いいのかわからないという感じがします。

何か解決策等、わかる方がいましたらご教授いただけますでしょうか。
記事編集 編集
Re: phpとoracleを用いたシステムでの文字化け このメッセージに返信する
日時: 2015/08/06(Thu) 08:47
名前: 朝青龍
URL:
>コマンドラインで実行した際は正常に出力され、ブラウザでアクセスした際は内容が文字化けして出力されました。
>上記事象からアパッチが影響してるのではと考えられるので、

apacheがレスポンスヘッダーで希望の文字コードを指示しているか確認しましたか?
レスポンスヘッダーに文字コードの指示が無い場合には、
metaタグで指示しないと文字化けする可能性が出てくると思う。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -