PHP和MySQL编码UTF8

PHP和MySQL编码UTF8,php,mysql,encoding,utf-8,Php,Mysql,Encoding,Utf 8,大家好 我们在字符编码方面遇到了一些奇怪的问题: 我们正在使用Notepad++和UTF+8,不带BOM,并将信息发送到数据库(mysql): 插入“análisis”时,插入“anÃlisis” 有人知道这是怎么发生的吗 提前谢谢 -- 编辑:如果我手动将信息插入MySQL表,它会正常工作。UTF8 EN/DECODE可能是您需要的 也 mysql\u查询(“SET NAMES utf8”)尝试此查询: SET NAMES utf8 并发送显式UTF-8标头: header('Content

大家好

我们在字符编码方面遇到了一些奇怪的问题:

我们正在使用Notepad++和UTF+8,不带BOM,并将信息发送到数据库(mysql):

插入“análisis”时,插入“anÃlisis”

有人知道这是怎么发生的吗

提前谢谢

--


编辑:如果我手动将信息插入MySQL表,它会正常工作。UTF8 EN/DECODE可能是您需要的

mysql\u查询(“SET NAMES utf8”)

尝试此查询:

SET NAMES utf8
并发送显式UTF-8标头:

header('Content-type: text/html; charset=utf-8');

您需要验证列的字符编码(在列上显式定义,或使用表/数据库默认值)。另外,请确保在插入之前没有编码不安全的函数正在修改字符串。

我认为您需要按如下方式更新数据库字符集:

ALTER DATABASE db_name DEFAULT CHARACTER SET 'utf8';

我希望这对你有用

您在将此数据插入到的字段中使用的字符集是什么?或者(1)您没有将连接的字符集设置为MySQL到utf-8(2)它实际上设置了正确的值,但您没有在显示为utf-8的界面中查看,或者(3)没有设置,在链中的其他地方,您忘记了使用utf-8。感谢Mohamed Elbou,数据库编码工作正常,这是PHP在某些地方失败了。