php - MySql 西类牙语字符数据

标签 php mysql character-encoding

我有一个包含西类牙语字符的数据库。为了填充数据库,我从具有字符编码 = 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/

相关文章:

database - 在 ISO-8859-1 Oracle 数据库中编码 "€"字符

Python - 字母频率计数和翻译

php - 选择然后再次选择不同的值

php - php中的下拉框从mysqli数据库获取部分值

php - error_handlers 页面在部署时不显示

java - 关闭连接池中的数据库连接

java - Sqlite + Android 行结果中的空列

php - MySQL表仅从EXT js + PHP条目第一次提交

php - 非常简单的插入功能,没有存储数据,也没有收到错误

python - Docker 上运行的 Django 中的加密错误