我读了一些文章,推动在php中使用新的ext / mysqli,因为它支持字符集。我目前使用ext / mysql并使用SET NAMES UTF-8
来确保我的所有数据都存储为utf-8。是不是在ext / mysql中支持charset,还是我错过了更大的东西?
谢谢:)
答案 0 :(得分:1)
SET NAMES UTF-8
并不意味着数据存储在UTF-8中。这意味着数据以UTF-8的形式从客户端接收,并以UTF-8的形式发送给客户端。
创建db / table /行时设置存储编码,例如
CREATE TABLE{
...
}CHARSET=utf8;
或
CREATE DATABASE DEFAULT CHARACTER SET utf8
请在此处阅读:Mysql: latin1-> utf8. Convert characters to their multibyte equivalents
2里昂 mysql很好。
请再次检查表格和行的编码,例如phpMyAdmin。请记住,将编码设置为数据库不会自动更改表的编码。如果未指定表编码,它仅用于默认值