Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中的字符问题->;Php->;HTML_Php_Mysql_Character Encoding - Fatal编程技术网

MySQL中的字符问题->;Php->;HTML

MySQL中的字符问题->;Php->;HTML,php,mysql,character-encoding,Php,Mysql,Character Encoding,我在数据表中有一些文本包含以下字符:“•” 当我查看phpMyAdmin中的文本时,它看起来没问题,这意味着数据中有正确的字符,但是如果我使用PHP和echo查询它,即使我使用htmlentities,它在IE中看起来也会像一个奇怪的正方形� 镀铬的 我对这两个字也有同样的问题:“和” 我做错了什么 编辑:我刚刚尝试了utf8\u编码,至少丑陋的字符消失了,但这仍然不是我想要的。我的页面的字符编码是utf8,与phpMyAdmin的页面编码相同。必须有一种方法来正确显示它,因为phpMyAdmi

我在数据表中有一些文本包含以下字符:“•”

当我查看phpMyAdmin中的文本时,它看起来没问题,这意味着数据中有正确的字符,但是如果我使用PHP和
echo
查询它,即使我使用
htmlentities
,它在IE中看起来也会像一个奇怪的正方形� 镀铬的

我对这两个字也有同样的问题:“和”

我做错了什么


编辑:我刚刚尝试了utf8\u编码,至少丑陋的字符消失了,但这仍然不是我想要的。我的页面的字符编码是utf8,与phpMyAdmin的页面编码相同。必须有一种方法来正确显示它,因为phpMyAdmin会这样做

这是编码问题,您的页面编码可能与数据库编码不同。将数据库和页面设置为相同的编码,或者使用一个函数,例如utf8_encode($variable)或utf8_decode

编辑:
尝试在htaccess中添加AddDefaultCharset UTF-8。这是编码问题,您的页面编码可能与数据库编码不同。将数据库和页面设置为相同的编码,或者使用一个函数,例如utf8_encode($variable)或utf8_decode

编辑:
尝试在htaccess中添加AddDefaultCharset UTF-8,MySQL中的数据编码是什么?Php还不支持原始unicode。

MySQL中的数据编码是什么?Php还不支持原始unicode。

我建议在连接到数据库后使用此查询:

mysqli\u查询($this->conn,'SET NAMES'utf8\'')

$this->conn
是您与数据库的连接


有关
集合名称“utf8”
的更多信息,请访问我建议在连接到数据库后使用此查询:

mysqli\u查询($this->conn,'SET NAMES'utf8\'')

$this->conn
是您与数据库的连接



有关
集合名称“utf8”
的更多信息,可从获得,并在FF中直接显示出来?或者其他浏览器?我可以将它保存到一个php变量中,并进行回显。在Chrome-worked中查看。我在FFOh上得到了问号,现在我明白你在说什么了。好的,我也试过同样的方法,也很有效。所以现在我更困惑了。我真的认为问题在于MySQL,因为如果我这样做,我可以正确地回显字符:
echo“•。它就在FF中出现?或者其他浏览器?我可以将它保存到一个php变量中,并进行回显。在Chrome-worked中查看。我在FFOh上得到了问号,现在我明白你在说什么了。好的,我也试过同样的方法,也很有效。所以现在我更困惑了。我真的认为问题在于MySQL,因为如果我这样做,我可以正确地回显字符:
echo“•。我刚刚尝试了utf8\u编码,至少丑陋的字符消失了,但仍然不是我想要的。我的页面的字符编码是utf8,与phpMyAdmin相同。必须有一种方法来正确显示它,因为phpMyAdmin会这样做。您确定您的页面是utf8吗?请转到浏览器,然后检查编码,查看页面上选择了什么。有时,服务器的设置会使它忽略您在html中设置的编码。除了数据库、表和字段的编码之外。确保它们都是utf8。好的,我刚才在Fiddler中看到了。我的页面是“内容类型:text/html”,但phpMyAdmin是“内容类型:text/html;charset=utf-8”。不知道这是否是问题所在。您可以从PHP代码中更改它吗?您可以尝试在htaccess中添加AddDefaultCharset UTF-8吗?看看它是否对你有用。@jsoldi:尝试将
添加到页面的
部分。我刚刚尝试了utf8\u编码,至少丑陋的字符消失了,但仍然不是我想要的。我的页面的字符编码是utf8,与phpMyAdmin相同。必须有一种方法来正确显示它,因为phpMyAdmin会这样做。您确定您的页面是utf8吗?请转到浏览器,然后检查编码,查看页面上选择了什么。有时,服务器的设置会使它忽略您在html中设置的编码。除了数据库、表和字段的编码之外。确保它们都是utf8。好的,我刚才在Fiddler中看到了。我的页面是“内容类型:text/html”,但phpMyAdmin是“内容类型:text/html;charset=utf-8”。不知道这是否是问题所在。您可以从PHP代码中更改它吗?您可以尝试在htaccess中添加AddDefaultCharset UTF-8吗?看看它是否适合您。@jsoldi:尝试将
添加到页面的
部分。我应该在
mysql\u select\u db
之前还是之后执行此操作?我是在db selection之后执行的。我想您的代码是针对mysql-lite之类的。我尝试了
mysql\u查询('SET NAMES'utf8\'')但它看起来更混乱。
mysql\u查询(“SET character\u SET\u results='utf8',character\u SET\u client='utf8',character\u SET\u connection='utf8',character\u SET\u database='utf8',character\u SET\u server='utf8')
在Firefox打开的页面信息中(右键单击页面->页面信息)并将出现窗口的屏幕截图添加到您的问题中。我的数据库是我们的生产数据库,一个完全成熟的最新mysql。我应该在
mysql\u select\u db
之前还是之后做?我是在db selection之后做的。我想你的代码是针对mysql lite之类的。我尝试了
mysql\u查询('SET NAMES'utf8\'')但它看起来更混乱。
mysql\u查询(“SET character\u SET\u results='utf8',character\u SET\u client='utf8',character\u SET\u connection='utf8',character\u SET\u database='utf8',character\u SET\u server='utf8')
在Firefox打开的页面信息中(右键单击页面->页面信息)并将出现窗口的屏幕截图添加到您的问题中。我的数据库是我们的生产数据库,一个完全成熟的最新MySQL