如何以正确的编码获得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服务器将无法正确读取数据并错误保存数据。因此,您的代码不是不正确的,服务器也没有出现任何故障,老实说,您的服务器保存的数据是不正确的。