-1

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

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

对于与 mysql 的每个连接,我使用设置名称并将字符等设置为 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 投票的人。

4

2 回答 2

0

确保您的 HTML 文档也是 utf-8 格式。

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

这很重要,这样您的客户端的浏览器才能真正发送 utf-8 编码的字符。

于 2013-11-07T09:35:10.840 回答
0

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

 <?php
   header('Content-Type: text/html; charset=utf-8');
   <?
于 2013-11-07T07:56:31.090 回答