Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用日文字符管理数据库中的ID_Php_Mysql_Encoding_Utf 8_Character Encoding - Fatal编程技术网

Php 如何使用日文字符管理数据库中的ID

Php 如何使用日文字符管理数据库中的ID,php,mysql,encoding,utf-8,character-encoding,Php,Mysql,Encoding,Utf 8,Character Encoding,现在我有了一个数据库。数据库使用全能的utf-8排序规则进行编码。实际上排序规则是utf8,我不确定编码是什么。这应该是另一个问题 然后我制作了一个程序从数据库中检索数据 <?php require_once('convertArraytoJson.php'); require_once('config.php'); mysql_connect ( "localhost", $databaseuser, $databasepassword); mysql_q

现在我有了一个数据库。数据库使用全能的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;
?>
它不起作用

但是,如果我不使用$\u GET,而只是直接在代码中输入日文字符,它就可以工作

因此,如果我改变:

$data = $_GET['id']

事情进展顺利

当然,我不想硬连接ID,我想通过$\u GET['ID']访问它。我该怎么办?

只需使用
urlencode()
-您的字符串如下所示:

%E6%9D%B1%E5%8C%97%E6%9C%AC%E7%B7%9A-%E8%8D%92%E5%B7%9D%E6%A9%8B%E6%A2%81

这些汉字是不允许的

检查rfc1738:

只需使用
urlencode()
-您的字符串如下所示:

%E6%9D%B1%E5%8C%97%E6%9C%AC%E7%B7%9A-%E8%8D%92%E5%B7%9D%E6%A9%8B%E6%A2%81

这些汉字是不允许的


检查rfc1738:

您不能使用utf-8将日语字符直接输入url。您需要使用url编码来传递参数

请看下面的链接


您不能使用utf-8在url中直接使用日语字符。您需要使用url编码来传递参数

请看下面的链接


这不是日文字符,而是中文字符。汉字是日本使用的中文字母。很高兴知道。另一个混淆语言和书写系统的糟糕案例。这是日语。事实上,它是用汉字写的,这并不意味着它是中国的……无论如何,伙计们。。。。不需要详细介绍中国人和日本人,只关注技术问题。@dda:是的,这是日语,但字符是中文!哈哈!这不是日文,而是中文。汉字是日本使用的中文字母。很高兴知道。另一个混淆语言和书写系统的糟糕案例。这是日语。事实上,它是用汉字写的,这并不意味着它是中国的……无论如何,伙计们。。。。不需要详细介绍中国人和日本人,只关注技术问题。@dda:是的,这是日语,但字符是中文!哈哈!答案基本相同。这个有样品,答案基本相同。这个有样品。
$data = $_GET['id']
$data = 'jr-東北本線-荒川橋梁__35.79_139.72'