当我从MySQL获取数据时,我有一个php文件,我将编码设置为utf8。当我想要获取数据并将其显示在我的php文件中时,我发现某些字符存在错误,例如Magia ĹwiÄt w JaseĹkach 2013-12-23
。
我使用utf8编码创建所有php文件,但是当我想从服务器打开这个文件时,Notepad ++告诉我有ANSI作为utf8编码,换行格式是Macintosh。
连接到数据库
<?php
$db = new mysqli('############');
$db->query("SET NAMES utf8");
$db->query("SET CHARACTER SET utf8");
if($db->connect_error) {
$msg = "Cant connect";
} else {
$msg = "Works!";
}
?>
<?php
require '../bootstrap/bootstrap.php';
$query = $db->real_escape_string("Select id, data_dodania,tytul, zajawka From artykuly ORDER BY data_dodania DESC");
$result = $db->query($query);
$result=$result->fetch_all();
foreach($result as $row ) {
echo '<tr>';
echo '<td>';
echo '<b>';
echo $row[2];
echo "<span class='text-info'> <small class='text-right'>$row[1] </small></span>";
echo '</b>';
echo '<br />';
echo $row[3];
echo '</td>';
echo '</tr>';
}
echo '</table>';
答案 0 :(得分:0)
您在网页上使用的编码以及您在数据库设置中指定的编码。如果数据库连接使用UTF-8,您可能应该使用UTF-8。没有ANSI作为UTF-8。您可以使用UTF-8或ANSI编码。
在Notepad ++中,如果转到Encoding -> Convert to UTf-8
,您可以将文件编码为UTF-8
设置此HTML-Tag以告知浏览器,浏览器应使用哪种编码进行页面显示:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
在PHP中转换ISO-8859-1字符串,请使用string utf8-encode(string $data)
见这里:UTF8-Encode