phpからMySQLへ日本語insert
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