php - 选择阿拉伯字符会导致 MYSQL 中出现问号。怎么修?

标签 php mysql select encoding arabic

阿拉伯字符的 select 语句返回 ?????? .. 为什么?

PHP 代码:

<?php

    require_once("db.php");
    $code=$_GET["code"];
    $query = "SELECT id,name,price,code from metro_goods where code=$code";

    $result = mysql_query($query) or die(mysql_error());

    $arr=array();
    $i=0;

    while ($row = @mysql_fetch_assoc($result)){
        $arr[$i]=array("id"=>$row['id'],"name"=>$row['name'],"price"=>$row["price"],"code"=>$row["code"]);
        $i++;
    }
        echo json_encode(array("data"=>$arr));
 ?>

结果:

{"data":[{"id":"55121","name":"???? ??? ????? - ???","price":"16","code":"42217572"}]}

编辑:

设置字符集时

$rating_conn = mysql_connect($rating_dbhost, $rating_dbuser, $rating_dbpass) or die  ('Error connecting to mysql');
    mysql_set_charset('utf8',$rating_conn); 

输出变成:

{"data":[{"id":"55121","name":"\u0645\u0632\u064a\u0644 \u0639\u0631\u0642 \u0646\u064a\u0641\u064a\u0627 - \u0633\u062a\u0643","price":"16","code":"42217572"}]}

最佳答案

在执行任何查询之前,您必须使用以下查询语句将字符集编码分配给 UTF8:

mysql_query("设置名称 utf8");

关于php - 选择阿拉伯字符会导致 MYSQL 中出现问号。怎么修?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782379/

相关文章:

php - 尝试将表单数据添加到 MYSQL 数据库中

html - 选择外观在 Firefox (29) 和 Internet Explorer (11) 中无法正常工作

mysql - 在 MySQL 中跨服务器检查某些数据

php - MySQL Case When with 2 条件

mysql - 远程 mysql 连接在 workbench 中有效,但在 python 中无效

MySQL 将两行算作一行

javascript - 计算“选择”下拉列表中每个选项被选择的次数

php - jQuery.post 回调数据为空

php - 谷歌驱动器 PHP : how to list complete subtree of the folder

php - 使用 Laravel 5.5 使用带有默认数据的 PhpSpreadsheet 创建 Excel 文件