php - ext/mysql 字符集支持 vs ext/mysqli 字符集

标签 php mysql mysqli character-encoding

我阅读了一些文章,这些文章提倡在 php 中使用新的 ext/mysqli,因为它支持字符集。我目前使用 ext/mysql 并使用 SET NAMES UTF-8 来确保我的所有数据都存储为 utf-8。是不是 ext/mysql 中的字符集支持,还是我遗漏了更大的东西?

谢谢:)

最佳答案

SET NAMES UTF-8 并不意味着数据以 UTF-8 格式存储。这意味着数据以 UTF-8 格式从客户端接收,并以 UTF-8 格式提供给客户端。

存储编码是在创建 db/table/row 时设置的,例如

CREATE TABLE{
  ...
}CHARSET=utf8;

 CREATE DATABASE  DEFAULT CHARACTER SET utf8

阅读此处:Mysql: latin1-> utf8. Convert characters to their multibyte equivalents


2 里昂 mysql 运行得很好。

请再次检查表格和行的编码,例如通过 phpMyAdmin。请记住,将编码设置为数据库不会自动更改表的编码。如果未指定表编码,它仅用作默认值

关于php - ext/mysql 字符集支持 vs ext/mysqli 字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2122597/

相关文章:

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - Laravel createConnection 超时

php - MySQLi 命令不同步,使用简单的 query() 函数

php - 查找页面上的特色图片是否已更改

php - 使用 PHP 将表单中的值输入到 mySQL 中的多个表中

python - 如何为使用 django、docker 和 mysql 的项目设置最佳配置?

mysql - 同样的查询。相同的数据集。两台 MySQL 服务器。两个不同的结果。为什么?

php - PHP的MySQLi插入错误显示

javascript - php/html显示从特定数据开始的自动周计数器

php - 使用 Curl -PHP 登录远程 url