重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

PHPでODBCを使ってMDBに接続するところまではできたのですが
SQL実行時にエラーが出ます。
SELECT * FROM 在庫 WHERE コード=0001 と言ったSQL文です。
SQLの文章的には問題ないと思うのですが
基本的なことかも知れませんが、MDBファイルのテーブル名や
フィールド名(列名)を日本語にしています。
これはダメなのでしょうか?

回避策か設定法などよく分かりません。
どなたか教えて頂けると幸いです
よろしくお願いします。

A 回答 (3件)

文字コードの問題じゃないですかね。


アクセスはShift_JISだったかな?
PHPは?Webサーバーの文字コードは何になってます?
EUC?UTF8?
両者の文字コードを同じにするか、コード内で変換かけてみたらどうでしょうか?

この回答への補足

回答ありがとうございます

アクセスはSJISと聞いているので
PHP4.4.5 を使っていまして
PHPはUTF-8です
そしてPHP.INIを以下のように設定しています
output_buffering = On
output_handler = mb_output_handler
magic_quotes_gpc = Off
default_charset = Shift_JIS
extension_dir = C:/php/extensions
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

あと、WEBサーバーは HTTPD1.4.2 を使っています
しかしながら WEBサーバーの文字コードはどこで見たらいいか
分かりません。

このような感じで 何か間違い等ありましたら
教えて頂ければと思います。
よろしくお願いします。

補足日時:2007/02/24 18:02
    • good
    • 0

#1です。



私から言えることは一度、すべて同じコードで統一してみる
としか言えません。
アクセスは変更できないので、変更できるサーバー、PHPをSJISにしてみたらどうなるかテストしてみる。
それでも駄目なら別の原因が考えられますが、現在の状態ではこれ以上はわかりません。
まずは、Webサーバーの設定を調べてみる必要があるでしょう。

できないなら、やはり#2の方のいうように日本語は使わないようにするしかないかも。
    • good
    • 0

使えたとしても使わないのが安全です。


ダメでなくとも安全に運用する上で現状のコンピュータ処理では
使わないのが安全です。
最終的な画面表示のみ日本語にするような扱いが無難です。

反論する方もいるでしょうがそのうちわかります。
答えになっていなくてすみません。
    • good
    • 0

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