有没有办法用PDO检索当前字符集?
我以前用MysqLi做了一点测试来检查是否通过检索强制字符集来设置它:
$MysqLi->get_charset();
这不适用于$conn = new PDO();
任何帮助表示赞赏.我对PDO很新,并试图从MysqLi跳过来.
附:我知道如何设置字符集,只想测试如何检索它.
感谢HD回答问题我将他的方法设为静态,也许它对某人有帮助(我在5.4表示法之前使用了一些):
public static function getCharset(PDO $objPdo) {
$objCharset = $objPdo->query("SELECT COLLATION('foo')");
$charset = $objCharset->fetch(PDO::FETCH_NUM);
return $charset[0];
}
最佳答案
如果我们运行以下MySQL查询;
MysqL> SELECT COLLATION('foo');
+-----------------------+
| COLLATION('foo') |
+-----------------------+
| utf8_general_ci |
+-----------------------+
1 row in set
$objCharset = $objPdo->query("SELECT COLLATION('foo')");
echo $objCharset->fetch(PDO::FETCH_NUM)[0]; //Output: utf8_general_ci
> PDO Query
> PDO Fetch
> Cubrid thread
然后,您可以更进一步,并使用以下(使用对象注入).
PHP
class foo {
public function get_charset($objPdo) {
$objCharset = $objPdo->query("SELECT COLLATION('foo')");
return $objCharset->fetch(PDO::FETCH_NUM)[0];
}
}
$objFoo = new foo();
$objPDO = new PDO(...);
echo $objFoo->get_charset($objPDO);
原文地址:https://www.jb51.cc/mysql/433488.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。