HY!
我的php与umlauts的输出有问题。 我的代码:
<?php
echo"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
<head>
<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" />
<title>Tabs</title>
<style type=\"text/css\" media=\"screen\"> ";
echo "<script src=\"http://code.jquery.com/jquery-1.6.1.min.js\" type=\"text/javascript\" charset=\"utf-8\"></script>
<script type=\"text/javascript\" charset=\"utf-8\">
$(function () {
var tabContainers = $('div.tabs > div');
tabContainers.hide().filter(':first').show();
$('div.tabs ul.tabNavigation a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).show();
$('div.tabs ul.tabNavigation a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
</script>
</head>
<body id=\"page\">";
echo "<div class=\"tabs\">
<!-- tabs -->
<ul class=\"tabNavigation\">
<li><a href=\"#user\">User</a></li>
<li><a href=\"#recipe\">Recipe</a></li>
<li><a href=\"#recipe_pos\">Recipe_Pos</a></li>
<li><a href=\"#ingred\">Ingredients</a></li>
<li><a href=\"#ingred_pos\">Ingredients_Pos</a></li>
</ul>
<!-- tab containers -->
<div id=\"user\">
<p>Lorem ipsum dolor sit amet.</p>
</div>
<div id=\"recipe\">";
include 'config.php';
include 'opendb.php';
$result = mysql_query("SELECT * FROM RECIPES '");
while($row = mysql_fetch_array($result))
{
echo "<p id=\"boarder\">";
echo "<span>";
echo "<b>" . $row['title'] . "</b><br/>";
echo "<br />";
echo $row['text'];
echo "<br /><br />";
echo mysql_error();
echo "</span>";
echo "</p>";
}
include 'closedb.php';
?>
输出:
Zwiebel,Knoblauch和M hresch len 并且在feineW rfelsschneiden。 Hackfleisch死于Pfanne geben, langsam erhitzen und im eigenen Fett R hrenanbraten。萨尔岑和 pfeffern。 Zwiebeln,Knoblauch und M hrendazugebenund kurz mitbraten。 MitderBr heabl schen,Tomatenmark, 牛至,死去的Tomaten und Tomatenketchupunterr hren。 Etwa 40 Minuten einkochen lassen。意大利面条 Salzwasser bissfest kochen,abgie en, abschrecken und zusammen mit der Sauce servieren。
答案 0 :(得分:1)
这些字符在UTF-8输出中看起来像无效字符,很可能是ISO-8859-1。
您的数据库连接可能是ISO-8859-1编码,即使数据是UTF-8。
通过连接后执行以下查询来修复它。对于mySQL&lt; 5.0.7:
mysql_query("SET NAMES utf8;");
对于较新的mySQL:
mysql_set_charset("utf8");
答案 1 :(得分:0)
输出看起来好像从数据库读取的数据不是utf-8格式。要进行测试,请尝试使用其他编码,例如ISO-8859-1
。如果这显示正确的文本,那么问题的原因是db内容根本不是utf-8。
答案 2 :(得分:-2)
从代码中删除所有的php和echos,并简单地键入一个纯HTML文件,我不明白为什么你在这种情况下使用echo。只有需要一些计算的区域才会停留在php标签中,例如while循环
<强>更新强>
也许您需要一个不同的字符编码,只需选择与数据库中的数据匹配的字符编码,您可以在html中指定它
meta content-type ='correct-encoding'
或在php标头函数中