php - 在 MySQL 数据库中保存波斯语数据的问题
问题描述
我正在尝试将波斯数据保存在 MySQL 中。但是当保存在数据库中时,如下图所示。我为数据库中的排序规则设置了 utf8 通用 ci,还添加了 header('Content-Type: text/html; charset=utf-8'); 在 PHP 文件中。但显示像这张图片一样的数据。
用户.php
public function updateuser(){
if(isset($_GET['phone']) && isset($_GET['fullname']) && isset($_GET['userPhone']) && isset($_GET['citycode']) && isset($_GET['useraddress']) && isset($_GET['userstatus'])){
$phone = $_GET['phone'];
$fullname = $_GET['fullname'];
$userPhone = $_GET['userPhone'];
$citycode = $_GET['citycode'];
$useraddress = $_GET['useraddress'];
$userstatus = $_GET['userstatus'];
$query = "CALL sp_update_user('$phone','$fullname','$userPhone',$citycode,'$useraddress',$userstatus)";}
$dbcontroller = new DBController();
$this->users = $dbcontroller->executeupdateuserQuery($query);
return $this->users;
}
数据库控制器.php
function executeupdateuserQuery($query) {
mysqli_set_charset($conn,'utf8');
$result = mysqli_query($this->conn,$query);
if ($result)
{
return "user_updated";
}else{
return "failed_updated";
}
}
解决方案
当你运行 mysql connect 时,你必须设置
mysql_query("SET NAMES 'utf8'");
对于 mysqli
$mysqli->set_charset("utf8")
完整示例:
$connect = mysql_connect($this->hosttype,$this->dbusername,$this->dbpassword)or die('error');
mysql_query("SET NAMES 'utf8'");
$select = mysql_select_db($this->dbname,$connect)or die('error');
推荐阅读
- read-the-docs - 使用 Sphinx autodoc 和拿破仑扩展阅读文档时不会生成文档字符串
- python - 如何处理/忽略 json 文件中缺少的键?
- python - 调整图像大小并更改为灰度
- javascript - odoo javascript如何覆盖网站菜单?
- saucelabs - 无法通过 saucelabs 隧道访问 localhost 中的应用程序
- python - 如何修复 - ArrowInvalid: ("Could not convert (x, y) with type tuple)?
- css - Bootstrap 中我自己的自定义 CSS 的问题
- javascript - 打印时 iframe 内的分页符
- python - 如何通过 PyQGIS (3.x) 添加直方图并设置其位置、颜色等?
- python - 在使用python执行期间多次将请求的响应写入json文件