我有一个包含西类牙语字符的数据库。为了填充数据库,我从具有字符编码 = UTF-8 的客户端页面获取值。当我在 mySql 数据库中插入值时,行包含更改的数据。例如,如果我插入“México”,则数据库中的条目为“México”。这产生的影响是当我对指定“México”的表进行查询时,我没有得到任何结果。我的问题是如何在 mysql 数据库中插入西类牙语或其他拉丁口音?我已经尝试了所有排序规则、htmlentities() 等,但没有任何效果!! 在进行 mysql 查询时,我检查了正在发送的数据,它的格式是正确的“México”,但是当我通过 phpmyadmin 看到表条目时,它发生了变化!!
最佳答案
将您的 mysql 数据库/表/列编码更改为 UTF-8(并将排序规则设置为兼容的值)。
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE mytable
MODIFY country CHAR(50)
CHARACTER SET utf8 COLLATE utf8_general_ci;
连接时还要在 PHP 端指定字符集。
mysql_set_charset('utf8',$conn);
看看this article获取更多信息和批量更改数据库中每个表/列的脚本。
关于php - MySql 西类牙语字符数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150622/