Moj*_*aSh 5 html php mysql persian
我在数据库的表行中插入了波斯字符串,其中我的列集合设置为utf8mb4_persian_ci。
但是,当我想从MySql数据库读取数据到php时,它不能正确显示波斯字符串,而仅显示????
我读了许多文章来解决此问题,但对我却不起作用,我在连接数据库后使用了此代码
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
$mysqli->set_charset("utf8");
Run Code Online (Sandbox Code Playgroud)
而此代码位于php代码的标头
header("Content-Type: text/html;charset=UTF-8");
Run Code Online (Sandbox Code Playgroud)
而此代码位于html代码的顶部
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Run Code Online (Sandbox Code Playgroud)
但是它不起作用,并且我在从MySql读取到php的php页面中看不到波斯字符串
如何解决这个问题?
这是我用来让它正常工作的代码,因为我使用了你所有的代码,这意味着你的mysql数据库配置不正确,请使用正确的排序规则重新创建你的数据库,确保表排序规则也相同并且字段输入为TEXT
这是代码:
\n\n<?php\n$mysqli = new mysqli(\'localhost\', \'root\', \'\', \'persian\');\n$mysqli->set_charset("utf8");\nheader("Content-Type: text/html;charset=UTF-8");\n$mysqli->query("INSERT INTO user SET name=\'\xd9\x81\xd8\xa7\xd8\xb1\xd8\xb3\xdb\x8c / \xd9\xbe\xd8\xa7\xd8\xb1\xd8\xb3\xdb\x8c\'");\n$result = $mysqli->query("SELECT * FROM user");\n$result = $result->fetch_object();\necho \'<pre dir="ltr">\';var_dump($result);echo \'</pre>\';\necho $result->name;?>\nRun Code Online (Sandbox Code Playgroud)\n