我今天正在处理一些棘手的事情......我有一个带有 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 ...
有任何想法吗?我已经在谷歌上搜索了几个小时...