0

好吧,等我一下。我真的很不擅长这个。我从知道一些编码但无法使用 atm 的朋友那里得到的帮助很少。

我有 mysql 数据库,其中包含存储在UTF8_general_ci

然后在 wordpress 我有页面调用文件号 1, haku.php. 以下内容:

 <?php

$result = mysql_query("SELECT DISTINCT jalleenmyyja_postitp FROM jalleenmyyjat order by jalleenmyyja_postitp");
while($r = mysql_fetch_array($result)){
if ($r["jalleenmyyja_postitp"] != "")echo '<option  value="'.$r["jalleenmyyja_postitp"] .'">'. $r["jalleenmyyja_postitp"] .'</option>';
}


?>

然后将它们放在下拉菜单中。到目前为止,一切都很好。然后,当在下拉列表中完成某些选择时,它应该返回结果低于文件编号 2 的结果,即下面的 JS:

    function haeyritys(x){
jQuery.ajax({
  type: "POST",
  url: "/yrityshaku.php",
  data: "kaupunki=" + x,
  success: function(data){
    document.getElementById('selResult').innerHTML=data;
  }

});
}

然后在此之后,文件号 3. 从数据库中返回数据。

if($_REQUEST["kaupunki"] !=""){

    $con = mysql_connect($host, $user, $pass);

    mysql_select_db($db_name);

    $result = mysql_query("select * from jalleenmyyjat where jalleenmyyja_postitp = '" .  utf8_decode($_REQUEST["kaupunki"]) ."' order by jalleenmyyja_nimi");



    if (mysql_num_rows($result) == 0){

            echo '<div style="border-bottom:1px solid #ccc;padding:5px;"><b>Ei tuloksia...</b>';

    }else{

        while($r = mysql_fetch_array($result)){

            if ($r["google"] != ""){echo '<a onclick="location.href=\'#top\'" href="'. $r["google"] .'" target="map">';}else{echo '<a onclick="location.href=\'#top\'" href="/eikarttaa.html" target="map">';}

            echo '<div style="border-bottom:1px solid #ccc;padding:5px;"><b>' . $r["jalleenmyyja_nimi"] . '</b>';

            if ($r["jalleenmyyja_osoite"] != "")echo '<br>' . $r["jalleenmyyja_osoite"]; 

            if ($r["jalleenmyyja_postino"] !="" ||  $r["jalleenmyyja_postitp"] !="")echo "<br/>" . $r["jalleenmyyja_postino"] . " ".  $r["jalleenmyyja_postitp"];

            if ($r["jalleenmyyja_puh"] != "") echo "<br/>Puh: ". $r["jalleenmyyja_puh"];

            if ($r["www"] != "")echo '<br/><a  target="_blank" href="'.$r["www"].'">Verkkosivuille &raquo;</a>';

            echo '</div>';

            echo '</a>';


        }   

    }



    mysql_close($con);



}

?>

但是,外来字符是问号。如果我添加mysql_set_charset('utf8');到打开数据库连接的文件号 3,结果会正确显示符号,但下拉列表中可能有符号的数据不返回结果!所以这是一种或另一种方式。

4

1 回答 1

0

如果您在网页上看到问号代替字符,则浏览器很可能不知道哪个字符集是正确的。您可以通过以下方法之一告诉浏览器使用哪个字符集:

HTML5:

<meta charset="UTF-8">

HTML4:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

XHTML 1.x:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

XHTML 1.x 作为 XML:

<?xml version="1.0" encoding="UTF-8"?>

元标记属于 html 文档的头部,应该放在靠近顶部的位置(<head> 和 </head> 之间)。如果不确定要使用哪一个,请使用 html4 来支持旧浏览器,使用 html5 来支持现代浏览器就足够了。

资源

于 2013-08-22T13:27:03.000 回答