我从MySQL数据库中获取图像文件路径,一切正常,直到路径名称中包含一些与之关联的unicode字符。例如,我使用此代码来获取图像文件路径;
$sql = "SELECT images FROM agents";
$basePath = "http://localhost/img/";
$result = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($result)) {
$img = $row['images'];
$actualPath = $basePath . $img;
echo $actualPath;
}
对于英文字母图片,没关系,结果是http://localhost/img/selena.jpg
,但是如果它使用unicode字符,它就像http://localhost/img/11_??.jpg
而真正的文件路径会是http://localhost/img/11_副本.jpg
如何将副本
字符从MySQL中提取出来而不仅仅是成为??
符号?
编辑:我使用了预处理语句方法,而不是基本的mysqli_query()
命令。
答案 0 :(得分:1)
在查询之前使用SET NAMES UTF8
来处理Unicode字符。
mysqli_query($con, 'SET NAMES UTF8');
$sql = "SELECT images FROM agents";
$basePath = "http://localhost/img/";
$result = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($result)) {
$img = $row['images'];
$actualPath = $basePath . $img;
echo $actualPath;
}