我正在使用的网站是在波斯语,所有文本都显示为????? (问号)。 我将我的数据库表格整理为UTF8_general_ci,但仍显示???存储非英文字符,得到'?????' - MySQL字符集问题
我跑了下面的脚本来改变所有的表,但是这并没有工作。
我想知道我做错了
<?php
// your connection
mysql_connect("mysql.ord1-1.websitesettings.com","user_name","pass");
mysql_select_db("895923_masihiat");
// convert code
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
{
foreach ($row as $key => $table)
{
mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci");
echo $key . " => " . $table . " CONVERTED<br />";
}
}
?>
如果你想知道你做错了什么:阅读[绝对最小每个软件开发人员,肯定必须知道Unicode和字符集(没有借口!)](http://www.joelonsoftware.com/文章/ Unicode.html)。然后意识到有很多事情要做:数据库整理,表格整理,数据库连接字符集('mysqli_set_charset($ con,“utf8”);'),网页字符集(meta-tags和/或http头文件)源文件编码等。**每个**都需要正确才能正常工作。 – RobIII