今日はちょっと難しい問題を扱っています... UTF-8 エンコーディングと utf8_general_ci 照合を使用する MySQL データベースがあります。すべての特殊文字は正しく挿入されますが、日本語の特殊文字は挿入されません。新しい行を挿入するために使用するコードは次のとおりです。
$dbConnection = new PDO("mysql:host=000.000.000.000;dbname=db_name", "db_user", "db_pass", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$parameterArray = array();
$parameterArray[":1"] = utf8_encode($message);
$queryResult = $dbConnection->prepare(QUERY_USERS_INSERT_MESSAGE);
$queryResult->execute($parameterArray);
ñ、à、ë、などの特殊文字も含め、ラテン文字を挿入する際はすべて問題なく動作します...しかし、たなはのような日本語の文字を挿入しようとすると、MySQL は NULL を挿入します...
何か案は?私は何時間もグーグルしてきました...