现在我有了一个数据库。该数据库使用全能的 utf-8 排序规则进行编码。实际上排序规则是utf8,我不确定编码是什么。那应该是另一个问题。
然后我编写了一个程序来从数据库中检索数据。
<?php
require_once('convertArraytoJson.php');
require_once('config.php');
mysql_connect ( "localhost", $databaseuser, $databasepassword);
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
@mysql_select_db ($databasename) or die ( "Unable to select database" );
$data=$_GET['id'];
$query="SELECT * FROM `tabletes` where id = '".$data."'";
$data = mysql_query($query);
while (true){
$info = mysql_fetch_array ( $data, MYSQL_ASSOC );
if ($info == false) {
break;
}
//$output[]=$info;
$output[$info['ID']]=$info;
unset ($output[$info['ID']]['ID']);
}
$result = array2json($output);
echo $result;
?>
数据库的内容如下所示:
现在我通过这样做来调用该函数(您需要放大屏幕才能看到它):
http://localhost/domainname/api/test2.php?id=jr-東北本線-荒川橋梁__35.79_139.72
它不起作用。
但是,如果我不使用 $_GET 而是直接在代码中输入日文字符,它就可以工作。
所以如果我改变:
$data = $_GET['id']
到
$data = 'jr-東北本線-荒川橋梁__35.79_139.72'
一切正常。
当然,我不想硬连线 ID,我想通过 $_GET['id'] 访问它。我该怎么办?