如何从mysql获得正确编码的输出


How to get output from mysql in right 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 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>";
}

您可以使用mysql_set_charset来设置客户端字符集。

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

你可以在创建数据库时这样做:

CREATE DATABASE myDB DEFAULT CHARACTER SET utf8;
[...]

或者在表格中:

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

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