電子書籍の厳選無料作品が豊富!

漢字や平仮名の文字をSQL実行できません。

下記のメッセージが出てくるのみで、平仮名が表示されなかったり、??と表示されたり、うまく表示されません。
どうすればよいでしょうか。

おそらく、コードの問題かと思い、php.iniやmy.iniで設定を行っているつもりなのですが、うまくいきません。
下記メッセージと設定内容
Warning: mb_strpos(): Unknown encoding or conversion error. in C:\apachefriends\xampp\phpmyadmin\libraries\string.lib.php on line 100

Warning: mb_strpos(): Unknown encoding or conversion error. in C:\apachefriends\xampp\phpmyadmin\libraries\string.lib.php on line 100

Warning: mb_strpos(): Unknown encoding or conversion error. in C:\apachefriends\xampp\phpmyadmin\libraries\string.lib.php on line 100
実行された SQL クエリー:
INSERT INTO member( email, keitai, name, futan ) VALUES( 'ggg@ggg.com', 0, 'A', 100 )

設定内容は、
my.ini
[client]
default-character-set=ujis
local-infile=1

[mysqld]
default-character-set=ujis
local-infile=1
set-variable=lower_case_table_names=0


php.ini
default_carset="EUC-JP"

[mbstring]
mbstring.language=Japanese
.internal_encoding=EUC-JP
.http_input=auto
.http_output=EUC-JP
.encoding_translation=Off
.detect_order=ASCII,SJIS,EUC-JP,JIS,UTF-8
.substitute_character=none;

A 回答 (4件)

自己回答です。


おそらくMySQLが4.1ではないですか?
4.1は日本語の扱いが難しいのでMySQL4.0にすれば
文字化けはなくなると思います。
    • good
    • 0

私も同じ現象になりました。


FedoraCore4
PHP5.0.4
Mysql
という環境です。
Mysqlにはコマンドでは日本語が入ったので、PHP側の問題と思われます。
PhpMyAdminでSQLを発行すると入力できませんでした。
多分PHPにマルチバイトに関するモジュール(ファイル)が足りないのかなと思うのですが。
まだ調査中です。
    • good
    • 0

保存したデータをどこから読み取っていますか?



・PHPなどのスクリプトから
文字コードがあっていますか?
S-JISの文字コードから読み取った場合、当然文字化けします。

・Dosプロンプトから
DosプロンプトではEUC表示ができません。
当然文字化けします。

・telnetやSSHから
設定されている文字コードは合っていますか?

あとは保存するときの文字コードが違うくらいしか考えられません。

あと、
> Warning: mb_strpos(): Unknown encoding or conversion error. in C:\apachefriends\xampp\phpmyadmin\libraries\string.lib.php on line 100
などののエラーは何ででてるのでしょうか?
ちゃんとエンコーディングできてないみたいですが・・・

この回答への補足

詳しいご回答有難うございます。

当方、・Dosプロンプト、
・telnetやSSHという単語は初めてで、まずはその存在自体から調べる必要があり、少し対応が遅れそうですが、試して見ます。後ほどご報告させていただきます。

補足日時:2005/08/28 00:29
    • good
    • 0

> 下記のメッセージが出てくるのみで、平仮名が表示されなかったり、??と表示されたり、うまく表示されません。


> どうすればよいでしょうか。

> 実行された SQL クエリー:
> INSERT INTO member( email, keitai, name, futan ) VALUES( 'ggg@ggg.com', 0, 'A', 100 )

これで実行されたのですか?
漢字や平仮名が入っていませんが?

この回答への補足

nameにあたるAの後にいろいろな文字で試しても、実行された SQL クエリーには漢字、平仮名が表示されず、結果「N」や「?」というレコードが残るだけです。

原因は何でしょうか。

補足日時:2005/08/25 20:21
    • good
    • 0

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

関連するカテゴリからQ&Aを探す