我有一个PHP页面,我试图显示阿拉伯语文本,但它显示。
在MySQL数据库中,我成功地存储阿拉伯语文本。
我使用以下代码连接到数据库:
function connect(){
$this->dbLink = mysql_connect($this->dbHost,$this->dbUser,$this->dbPass);
if(!$this->dbLink) die("Could not connect to database. " . mysql_error());
mysql_select_db($this->dbName);
mysql_set_charset("utf8", $this->dbLink);
}
并在PHP页面中使用以下标头:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但仍然没有成功。
你可以使用这个元代码:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
请检查mysql列的字符类型。
看这个
检查文件编码,它应该是UTF-8,您可以在查询文本之前尝试运行以下查询:
mysql_query("SET NAMES UTF8");
除了meta部分设置的header,检查php.ini中的default_charset设置。如果您自己设置内容类型头或与您的内容类型元信息相对应,则Default_charset应该为空。
设置一个META-tag,告诉浏览器使用ISO-8859-1 (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
),它适用于基于拉丁的脚本,但肯定不适用阿拉伯语。
还要确保所有地方都使用UTF-8:
- DB-column
- db连接(你已经有了)
- 网站(通过http头或元标签,你不需要两者,你不需要第二个元标签,如上所述…)
您是否尝试将连接设置为使用UTF-8(使用mysql_set_charset)?
尝试在Mysql连接之后将这两行添加到php脚本中
mysql_query("SET NAMES cp1256");
mysql_query("set character set cp1256");