アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

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

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

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

何か解決策等、わかる方がいましたらご教授いただけますでしょうか。

A 回答 (1件)

基本的にはhttpヘッダおよびmeta設定をutf8にして、ソースもutf8でかき


DSNでcharsetを指定してみてはどうでしょうか?
UTF8かAL32UTF8が設定できそうですが、わたしはoracleマスターではないので
詳細はご自身でしらべてみてください

http://www.php.net/manual/ja/ref.pdo-oci.connect …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!