【发布时间】:2017-12-07 11:27:14
【问题描述】:
我正在检索印度语言的数据,我得到的输出是 ???????????????????????????
注意:-我在我的 php 脚本中使用了这 2 行
header('Content-type: text/plain; charset=utf-8');
mysqli_set_charset($conn,'utf-8');
我还在数据库和表格中使用了 utf8_general_ci 编码。
我的 php 脚本是
<?php
require 'init.php';
header('Content-type: text/plain; charset=utf-8');
mysqli_set_charset($conn,'utf-8');
$table = $_GET['table_name'];
$sql = "SELECT * FROM ".$table;
$response = array();
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result)>0) {
while($row = mysqli_fetch_array($result)) {
array_push($response, array('id'=>$row['id'],'text'=>$row['text']));
}
echo json_encode($response);
} else {
echo "error";
}
mysqli_close($conn);
?>
您可以查看链接http://www.sharefb.com/statusApp/readStatus.php?table_name=gujrati_attitude
【问题讨论】:
-
警告:在编写查询时不要使用字符串插值或连接来完成此操作,因为您创建了一个严重的SQL injection bug。 切勿将
$_POST、$_GET或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。您必须根据已知良好值列表测试该表名,否则您很容易受到攻击、错误或更糟的影响。