Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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只从表中读取前8个字符_Php_Mysql - Fatal编程技术网

PHP只从表中读取前8个字符

PHP只从表中读取前8个字符,php,mysql,Php,Mysql,我使用的是一个MySQL表,其中包含Unicode Malayalam字符串。使用PHP读取表时,在获取的数组中只存储/读取前8个字符 虽然字段中存在完整字符串,但数组中不会存储余额部分。该字段为字符串Varchar(50)。 默认情况下,数据库字符集设置为utf8mb4。 PHP代码如下所示: $con = mysql_connect("localhost","root") or die (); $db=mysql_select_db("drivingtest",$con);

我使用的是一个MySQL表,其中包含Unicode Malayalam字符串。使用PHP读取表时,在获取的数组中只存储/读取前8个字符

虽然字段中存在完整字符串,但数组中不会存储余额部分。该字段为字符串Varchar(50)。
默认情况下,数据库字符集设置为utf8mb4。 PHP代码如下所示:

    $con = mysql_connect("localhost","root") or die ();

    $db=mysql_select_db("drivingtest",$con);    //connects database
    mysql_set_charset('utf8mb4',$con);
    $query1="select * from dt_mst where quest_no != ".$row." ORDER BY RAND() limit 1";
    $result=mysql_query($query1) or die(mysql_error());
    $row = mysql_fetch_array($result);
    echo trim($row[2]);

仅显示字符串的前8个字符

我认为您的字符串是在包含6个字符的实体中转义的。例如,包含8个字符的代码:

ഇതു ഒരു നല്ല
ഇതു ഒരു ന
转义为50多个字符的代码:

ഇതു ഒരു നല്ല
ഇതു ഒരു ന
查看您的数据库。检查数据库是否使用utf8字符集创建。如果不是,请运行以下命令:

ALTER DATABASE databasename DEFAULT CHARACTER SET utf8;
在PHP中,在任何select查询之前设置utf8 mysql连接:

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET 'UTF8'");

另请参阅有用的链接:

我认为您的字符串是在具有6个字符的实体中转义的。例如,包含8个字符的代码:

ഇതു ഒരു നല്ല
ഇതു ഒരു ന
转义为50多个字符的代码:

ഇതു ഒരു നല്ല
ഇതു ഒരു ന
查看您的数据库。检查数据库是否使用utf8字符集创建。如果不是,请运行以下命令:

ALTER DATABASE databasename DEFAULT CHARACTER SET utf8;
在PHP中,在任何select查询之前设置utf8 mysql连接:

mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET 'UTF8'");

另请参阅有用的链接:

您的PHP代码是如何实现这一点的?除非你发布你所做的事情,否则没有人能够有效地帮助你。你的PHP代码是如何做到这一点的?如果你真的需要使用
mysql.*
使用而不是
设置名称,
$con=mysql.\u connect(“localhost”,“root”)或die(“嘿,失败者,检查你的服务器连接”);$db=mysql_select_db(“驱动测试”,$con);//连接数据库mysql\u set\u字符集('utf8mb4',$con);$query1=“select*from dt\u mst;$result=mysql\u query($query1)或die(mysql\u error());$row=mysql\u fetch\u array($result);echo trim($row[2])。”;如果您真的需要使用
mysql\uu
设置名称,$con mysql\u连接(“localhost”,“root”)或die(“嘿,请检查您的服务器连接”);$db=mysql\u选择数据库(”drivingtest“,$con);//连接数据库mysql_set_charset('utf8mb4',$con);$query1=“select*from dt_mst;$result=mysql\u query($query1)或die(mysql\u error());$row=mysql\u fetch\u数组($result);回声微调($row[2])”;