简体   繁体   English

使用php中的PDO从MySQL DB中获取损坏的数据

[英]Fetching corrupted data from MySQL DB using PDO in php

This is my code in phpstorm. 这是我在phpstorm中的代码。

Fname in MySQL database is a varchar field of student table which contains Persian characters. MySQL数据库中的Fnamestudent表的varchar字段,其中包含波斯字符。 I set DB collation to UTF8, but still, this code returns me "??? ???" 我将DB排序规则设置为UTF8,但仍然,这段代码返回“??? ???” as result. 结果。

What is the problem in using it? 使用它有什么问题?

<?php
$conn = new PDO("mysql:host = localhost;dbname=university;charset = utf8","root","");
$query = "SELECT * FROM student WHERE status = 1";
$result = $conn->query($query);
while($row = $result->fetch(PDO::FETCH_ASSOC)){
    echo $row['Fname'],"<br>";
}
?>

Try 尝试

$conn = new PDO("mysql:host=localhost;dbname=university;charset=utf8","root","",
                array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));

instead of 代替

$conn = new PDO("mysql:host = localhost;dbname=university;charset = utf8","root","");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM