我试图从我的phpmyadmin获取数据,它们是阿拉伯语,并且显示为问号 - ???
我的代码是:
<?php
$con = mysqli_connect('localhost','root','','kidwah');
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>
Create Google Charts
</title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['description', 'o_owner'],
<?php
$query = "SELECT count(o_owner) AS count, description FROM sakk GROUP BY o_owner";
$exec = mysqli_query($con,$query);
while($row = mysqli_fetch_array($exec)) {
echo "['".$row['description']."',".$row['count']."],";
}
?>
]);
var options = {
title: 'Browser wise visits'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<h3>Pie Chart</h3>
<div id="piechart" style="width: 900px; height: 500px;"></div>
</body>
</html>
我希望有人能解决这类问题。
答案 0 :(得分:0)
由于以下原因,某些字符(阿拉伯语,日语等)将显示为问号,即使字符集设置为UTF-8。
您尚未正确设置默认字符的默认编码。 DEFAULT CHARSET将以UTF-8的形式返回,但是character_set_server将会有所不同。
您可以通过在SQL
中执行类似的操作来更改它SHOW VARIABLES LIKE 'character\_set\_%';
检查是否是这种情况。
你最有可能
character_set_server latin1
您需要将其更改为utf8。
如果您想了解更多相关信息,请转到来源。 Source / more info
答案 1 :(得分:0)
如果我理解你的问题,那么你的问题就是html内容代码。
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
按
更改此行<meta http-equiv="content-type" content="text/html; charset=UTF-16" />
答案 2 :(得分:0)
将 C# 阿拉伯语字符串转换为 $Javascript 字符串时会出现问题,要正确转换它,请执行以下操作:
1- 添加@using $System.Web;在您的视图页面顶部 2- 使用此方法转换字符串,下面我将显示来自 $ViewBag 的集合中项目的转换
@{
foreach (var item in ViewBag.Items)
{
@:dataArray.push(['@Html.Raw(HttpUtility.JavaScriptStringEncode(@item.Name))',
@item.Price]);
}
}