Php 从MySQL中插入和检索返回??????????????阿拉伯文本符号
我有以下PHP代码:Php 从MySQL中插入和检索返回??????????????阿拉伯文本符号,php,mysql,json,Php,Mysql,Json,我有以下PHP代码: <?PHP require("config.inc.php"); if (!empty($_POST)) { $query = "INSERT INTO projects ( project_author, project_title, project_spec, project_links, project_desc,created_at ) VALUES ( :user, :title, :spec, :links, :desc, NOW() )
<?PHP
require("config.inc.php");
if (!empty($_POST)) {
$query = "INSERT INTO projects ( project_author, project_title, project_spec, project_links, project_desc,created_at ) VALUES ( :user, :title, :spec, :links, :desc, NOW() ) ";
$query_params = array(
':user' => $_POST['author'],
':title' => $_POST['title'],
':spec' => $_POST['spec'],
':links' => $_POST['links'],
':desc' => $_POST['desc'],
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error. Couldn't add post!";
die(json_encode($ex));
}
$response["success"] = 1;
$response["message"] = "Post Successfully Added!";
echo json_encode($response);
}else{
echo 'omar almrsomi';
}
?>
从MySQL检索PHP代码的步骤如下:
<?php
$mysql_db_hostname = "com";
$mysql_db_user = "xxxxx";
$mysql_db_password = "xxxxxxxxxx";
$mysql_db_database = "xxxxxxxxx";
$con = @mysqli_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password,
$mysql_db_database);
if (!$con) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$var = array();
$sql = "SELECT * FROM projects";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
echo '{"projects":'.json_encode($var).'}';
?>
问题:
从MySQL进行的插入和检索提供了?????????????签字
注意:
插入阿拉伯文文本
问题:
如何将阿拉伯语(Unicode)插入MySQL
提前感谢您需要在表上设置正确的排序规则(又称字符编码),以及在表和/或整个数据库上设置
字符集
,以便在排序规则中使用所需的阿拉伯文字符,否则将出现未知字符,如您所见,作为?
,我不知道哪种字符编码最适合您选择的字符,但请看这里,以获得将阿拉伯语字符保存到MySQL的帮助。还要检查输出HTML页面上是否声明了相同的编码,否则该页面可能会尝试使用错误的默认编码呈现字符,并导致相同的问题
正如Chris85在评论中所详述的,这是一个非常好的阅读链接 你的一些反对票(在一个相当清楚的问题上)可能是因为你使用了所有的上限(现在已经删掉)。在互联网上,这常常与叫喊联系在一起。