我有以下charset问题。
但是,我认为在数据库中使用像¶这样的字符看起来很不错。
我的charset问题在哪里?我对数据库的整理是utf8_swedish_ci,输入MyISAM。
编辑,我的代码:
try {
// Create DB object
$db = Db::factory($this->type, $this->creds);
// Create a prepared statement
$sql = new Sql($db, 'user');
// This doesnt work $sql->("SET NAMES 'utf8'");
$sql->insert(array('firstname' => '?', 'surname' => '?', 'email' => '?', 'password' => '?'));
// Prepare the statement, bind the parameters and execute
$db->adapter()->prepare($sql);
$db->adapter()->bindParams(array('firstname' => $post['firstname'], 'surname' => $post['surname'],
'email' => $post['email'], 'password' => $encryptedPassword));
$db->adapter()->execute();
$this->sendUserData($post['email'], $password);
} catch (\Exception $e) {
echo $e->getMessage() . PHP_EOL . PHP_EOL;
}
答案 0 :(得分:0)
您可能需要将连接的排序规则设置为UTF-8,默认情况下为iso-8859-1。尝试
mysql_set_charset("utf8");
答案 1 :(得分:0)
框架不允许将选项传递给PDO,因此您必须执行以下操作:
$db = Db::factory($this->type, $this->creds);
$db->adapter()->exec("SET names 'UTF8'");