-1

今日はちょっと難しい問題を扱っています... 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 を挿入します...

何か案は?私は何時間もグーグルしてきました...

4

2 に答える 2

0

問題を解決した人:

@deceze と @Daniel_Vérité が正解しました。

utf8_encode が問題でした。

ありがとうございました。

于 2013-07-04T16:05:13.277 に答える