• 締切済み

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

漢字や平仮名の文字を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;

みんなの回答

  • rei003
  • ベストアンサー率27% (3/11)
回答No.4

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

  • rei003
  • ベストアンサー率27% (3/11)
回答No.3

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

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

保存したデータをどこから読み取っていますか? ・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 などののエラーは何ででてるのでしょうか? ちゃんとエンコーディングできてないみたいですが・・・

goohajimete
質問者

補足

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

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

> 下記のメッセージが出てくるのみで、平仮名が表示されなかったり、??と表示されたり、うまく表示されません。 > どうすればよいでしょうか。 > 実行された SQL クエリー: > INSERT INTO member( email, keitai, name, futan ) VALUES( 'ggg@ggg.com', 0, 'A', 100 ) これで実行されたのですか? 漢字や平仮名が入っていませんが?

goohajimete
質問者

補足

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