我有一个名为link的表,它使用日语。这就是我在html中用于链接文本的内容。但它只是在浏览器中显示为?????。
我的链接表[排序规则->utf-8 unicode ci]
id link_name link_value
0 ホーム dashboard
1 カレンダー calendar
PHP
<?php
$query = "Select * from link";
$result = mysql_query($query,$db);
while($row = mysql_fetch_row($result)){
echo '<a href="' . $baseUri .$row['link_value'] . '/index"><img src="../common/img/list.png" ><span><b>' . $row['link_name'] . '</b></span></a>';
}
?>
链接网址是完美的,但在浏览器中显示不是日本语言,只是?????。(问号)?如何获得
可能存在不同的问题,您应该检查问题发生的位置:浏览器或后端。
对于浏览器,这可能会修复它:
<meta charset="UTF-8">
对于后端,您应该尝试:
$db->set_charset("utf8");
您还应该确保您的表和列设置为utf8,而不仅仅是其中之一。
更新:
根据您使用数据的方式(例如作为服务),您应该考虑在php中添加以下标题:
header('Content-Type: text/html; charset=UTF-8');
注意:不要在您已经输出
<meta charset="utf-8"/>
把它放在你的页面顶部。所以浏览器知道如何解读文本。
在sql.put中获取数据时连接查询中的代码:
mysql_query("SET NAMES utf8");
并放在页面顶部的标题:
<meta charset="utf-8">
试试
/* change character set to utf8 */
if (!mysqli_set_charset($mysqli, "utf8"))
{
printf("Error loading character set utf8: %s'n", mysqli_error($mysqli));
exit();
}
else
{
printf("Current character set: %s'n", mysqli_character_set_name($mysqli));
}