推しミネラルウォーターはありますか?

phpプログラムからMySQLへ日本語の入力を行おうとしているのですが、
selectで閲覧してみても、文字化けどころか挿入すらされていませんでした。
コードは以下のような実にシンプルなものです

<?php

require_once'DB.php';

$username = "****";
$password = "*****";
$host = "localhost";
$database = "udb";
$db = DB::connect("mysql://$username:$password@$host/$database"); //DB接続

if (DB::isError( $db )) {
die($db->getMessage());
}

$sql = "INSERT INTO comments (lec_code, comment) VALUES (0000, 'ああああ')";
$result = mysql_query($sql);
?>

日本語でなく、英語でinsertした場合は問題なく挿入できました。
また、MySQLから直接SQL文での入力であれば日本語をinsertできたので、設定ミスが問題なのであればMySQLではなくphp側だと思われます。
ちなみに、MySQLの文字設定はsjis、phpの設定は以下のとおりです。

output_buffering Off
default_charset "Shift_JIS"
extension php_mbstring.dll
mbstring.language Japanese
mbstring.internal_encoding SJIS
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.encoding_translation On
mbstring.detect_order auto
mbstring.substitute_character none

A 回答 (2件)

エラーの内容が知りたいです。


http://jp.php.net/manual/ja/function.mysql-error …
を参考に

$result = mysql_query($sql, $db);
if(!$result){
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}

とした場合の結果を知りたいです。
    • good
    • 0

下のに加えてもう一つ、



$result = mysql_query($sql);

の前に

mysql_query('set names sjis')

をした場合の結果も知りたいです。
    • good
    • 0
この回答へのお礼

出来ました・・・
調査が足りず、申し訳ありません。
ありがとうございました!

お礼日時:2008/02/26 08:56

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