PHP只从表中读取前8个字符
我使用的是一个MySQL表,其中包含Unicode Malayalam字符串。使用PHP读取表时,在获取的数组中只存储/读取前8个字符 虽然字段中存在完整字符串,但数组中不会存储余额部分。该字段为字符串Varchar(50)。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);
默认情况下,数据库字符集设置为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])”;