Php 如何以正确的编码从mysql获取输出

Php 如何以正确的编码从mysql获取输出,php,mysql,encoding,Php,Mysql,Encoding,如何以正确的编码获得MYSQL输出?我在MYSQL数据库中有一个转义字符串:Wannahëal,我需要Wannahëal 谢谢大家! // Connect $link = mysql_connect('xxx', 'xxx', 'xxx') or die("Can't connect to MYSQL DB"); mysql_set_charset("UTF8", $link); //Choose a DB mysql_select_db('xxx') or die("Can't selec

如何以正确的编码获得MYSQL输出?我在MYSQL数据库中有一个转义字符串:Wannahëal,我需要Wannahëal

谢谢大家!

// Connect
$link = mysql_connect('xxx', 'xxx', 'xxx') or die("Can't connect to MYSQL DB");
mysql_set_charset("UTF8", $link);

//Choose a DB
mysql_select_db('xxx') or die("Can't select MYSQL DB");


$query = "SELECT * FROM mr_characters";
$result = mysql_query($query) or die('Query failed!');

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

while($row = mysql_fetch_object($result))
{
    echo $row->title . "<br>";
}
//连接
$link=mysql_connect('xxx','xxx','xxx')或die(“无法连接到mysql数据库”);
mysql\u set\u字符集(“UTF8”,$link);
//选择一个数据库
mysql_select_db('xxx')或die(“无法选择mysql db”);
$query=“从mr\u字符中选择*”;
$result=mysql\u query($query)或die('query failed!');
标题('Content-type:text/html;charset=utf-8');
while($row=mysql\u fetch\u object($result))
{
echo$row->title.“
”; }
您可以使用设置客户端字符集。

您需要在您的字符集中设置字符集,我认为您的情况是utf8

您可以在创建数据库时执行以下操作:

CREATE DATABASE myDB DEFAULT CHARACTER SET utf8;
[...]
或在表格中:

[...]
CREATE TABLE myTable DEFAULT CHARACTER SET utf8;
(
[...]

编辑:如果在将数据输入MySQL服务器之前未设置字符集,则MySQL服务器无法正确读取数据并错误保存数据。因此,不是您的代码不正确,也不是您的服务器出现任何故障,老实说,您的服务器保存的数据不正确。

在担心输出之前,请确认数据存储正确。执行
选择十六进制(col).
以显示该值。ë是十六进制C3AB;这就是你得到的吗?如果你得到了C383C2AB,那么你将受到“双重编码”的影响。这意味着在插入数据时,set_字符集未生效。我可以帮你修好它。