Çeşitli giyim açıklamaları var, belirli bir alanla, bir tablo ile, bir veritabanı var. Bu açıklamalar genellikle inceltmeleri veya benzer karakterler içeriyor.
Ben iki farklı php alanlarda bu alanları alınıyor yaşıyorum ve ben verilere şey yapıyor değilim, henüz tutarsız görüntüler.
Dosya1 yılında, o aşağıda olduğu gibi düzgün görüntülemek veya ekleme olacak
$con->query("SET NAMES 'utf8'");
ve
header("Content-Type: text/html; charset=utf-8");
Ben sadece Dosya1 için yukarıdaki birini eklerseniz, veri düzgün görünmeyecektir.
Dosya2'nin, sadece doğru göstermek eğer
$con->query("SET NAMES 'utf8'");
ayarlanır.
Ekleme ya
header("Content-Type: text/html; charset=utf-8");
set isimleri sorgu veya bırakarak birlik isimleri sorgulamak set yanlış göstermesine neden olur.
$con->set_charset("utf8");
herhangi bir noktada hiçbir fark görünüyor.
This issue exists on internet explorer vefirefox on windows velinux.
Tutarsız görüntüler verilerin bir örnek:
ED HARDY SCHUHE IM JAPAN-STYLE, GRÖßE 36
Dosya1:
<?php
header("Content-Type: text/html; charset=utf-8");
if (isset($_GET["pk"])) {
$pk = $_GET["pk"];
}
$con = mysqli_connect("localhost","user","password", "database");
if (!$con) {
echo "Can't connect to MySQL Server. Errorcode: %s\n". mysqli_connect_error();
exit;
}
$con->query("SET NAMES 'utf8'");
$retreiveQuery = 'SELECT ARTICLE_NAME FROM AUCTIONS WHERE ARTICLE_NO = ?';
if ($getRecords = $con->prepare($retreiveQuery)) {
$getRecords->bind_param("s", $pk);
$getRecords->execute();
$getRecords->bind_result($ARTICLE_NAME);
while ($getRecords->fetch()) {
echo "<h1>".$ARTICLE_NAME."</h1>";
}
} else {
print_r($con->error);
}
File2:
<?php
header("Content-Type: text/html; charset=utf-8");
if (isset($_GET["brand"])) {
$brve= $_GET["brand"];
}
$con = mysqli_connect("localhost","user","pass", "database");
if (!$con) {
echo "Can't connect to MySQL Server. Errorcode: %s\n". mysqli_connect_error();
exit;
}
$con->query("SET NAMES 'utf8'");
$brve= '%' . $brve. '%';
$rows = getRowsByArticleSearch($brand);
echo "<table border='0' width='100%'><tr>" . "\n";
foreach ($rows as $row) {
$pk = $row['ARTICLE_NO'];
echo '<tr id="article_' . $pk . '">' . "\n";
echo '<td><a href="#" onclick="updateByPk(\'Layer2\', \'' . $pk . '\', \'' . $title . '\', \'' . $pg . '\')">'.$row['ARTICLE_NAME'].'</a></td>' . "\n";
echo '</tr>' . "\n";
}
echo "</table>\n";
function getRowsByArticleSearch($searchString) {
$con = mysqli_connect("localhost","user","pass", "db");
$recordsQuery = "SELECT ARTICLE_NAME FROM AUCTIONS WHERE lower(ARTICLE_NAME) LIKE ? veSUBCAT='' LIMIT 0,20";
if ($getRecords = $con->prepare($recordsQuery)) {
$getRecords->bind_param("s", $searchString);
$getRecords->execute();
$getRecords->bind_result($ARTICLE_NAME);
$rows = array();
while ($getRecords->fetch()) {
$row = array(
'ARTICLE_NAME' => $ARTICLE_NAME,
);
$rows[] = $row;
}
return $rows;
} else {
print_r($con->error);
}
}
Ben set için de index.php ile, bir ajax applicaition var
header("Content-Type: text/html; charset=utf-8");
Ben sonra yanlış verileri görüntüler, hangi dosya2 kullanarak ajax içeriğe sahip bir katman yükleyin. Veri dosya1 doğru verileri görüntülemek yapar farklı bir katmanda, veri yüklemek için kullandığı bir bağlantı olur.
I really don't understvewhere the inconsistency is coming from.
edit:
The data displays correctly in file1 with set names vethe headers set, vethe page shows as utf-8.
File 2 will only display the data correctly when the webpage information shows the charset to be ISO-8859-1, which means omitting set names vesetting the header.