PHP到MySQL的UTF-8转换

时间:2013-11-07 06:26:51

标签: php mysql utf-8

我有一个问题,我正在尝试将'印地文/中文'字符串写入MySQL数据库。 PHP正在将其转换为'????'这就是我在mysql中可以看到的。当我直接将该字符串放入mysql时,为了隔离问题,它会正确写入。有没有人知道我如何解决这个问题。

(我的数据库和表格是UTF8,PHP配置设置为UTF8)

对于mysql的每个连接,我使用set name并将字符等设置为UTF8

before interacting with mysql, send this two querys:

SET NAMES 'utf8';
CHARSET 'utf8';

当人们不知道答案时,他们不会接受这个事实,但是开始投票或说可能重复......而不理解问题......这不是很好......很棒的一天...

解决方案: - 我在连接后使用了以下查询。

SET NAMES 'utf8' 
SET CHARACTER SET 'utf8'

导致问题不知何故我无法理解为什么?但如果我删除 SET CHARACTER SET'utf8',只保留 SET NAMES'utf8'一切正常。

感谢大家的帮助,对于那些说可能重复 -ve voteed 的人。

2 个答案:

答案 0 :(得分:0)

在php中使用以下命令在php的第一行设置编码utf8

 <?php
   header('Content-Type: text/html; charset=utf-8');
   <?

答案 1 :(得分:0)

确保您的HTML文档也在utf-8中。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

这很重要,以便客户端的浏览器实际发送utf-8编码字符。