我这个PHP页面里放了google地图,中文显示不出来但是图能显示,如果通过转换把中文显示出来整个页面就报错,找了好久都不知道错在哪了,各位哥哥姐姐帮忙看看啊,很急的!!!!!!!!!!!!!!!!!!<!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" xmlns:v="urn:schemas-microsoft-com:vml"><!--后面是控制图片缩放的-->
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.aa {
font-size: 9px;
}
.STYLE1 {
color: #FF4444;
font-weight: bold;
}
-->
</style>  <head>
    <meta http-equiv="content-type" content="text/html; charset=gb2312" />
    <title>Google Maps JavaScript API Example</title>
    <!--google地图代码-->
<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAsAsV_jBT9Fxn0YmUUxQ1qhTUMxGw_kstqiywO1DGW7W5Lh9ViBRQAfUYDOzvPtN2EdHOYyP_0AJ2VQ"></script>

<?
require('connectdb.php');
$sql="select * from jizhanweizhi";
$sqlcon=mssql_query($sql,$conn);
$count=mssql_num_rows($sqlcon);
for($i=0;$i<$count;$i++){
$b=mssql_fetch_row($sqlcon);
$pn=$b[1];//名字列
$wdu=$b[2];//纬度列
$jdu=$b[3];//经度列
echo $wdu;
?>
<script type="text/javascript">google.load("maps","2");// Call this function when the page has been loaded 
function load() {if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(40.749751, 110.819918), 5, G_HYBRID_MAP); //功能键
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());        // 创建图标
        function createMarker(point, info) {
          var er = new GMarker(point);
          GEvent.addListener(er, "click", function() {
            er.openInfoWindowHtml(info);
          });
          return er;
        }
        var w=<?echo "'{$wdu}'"?>;
        var j=<?echo "'{$jdu}'"?>;
        var p=<?echo "'{$pn}'"?>;
        var count=<?echo "'{$count}'"?>;
        for(i=0;i<count;i++){
var point = new GLatLng(45,125.15464);
map.addOverlay(createMarker(point, "内蒙古 赤峰市<br><br><a href=mapser_show.asp?id=2726fb0a03bb19f2 target=_blank>查看详情</a>"));}
 }   
    } 
google.setOnLoadCallback(load);//直接运行JS脚本
 </script><?}?>
  </head>
  <body onunload="GUnload()"><?echo $pn;?>
    <div id="map" align="center" style="width:100%;height:500px"></div>
  </body>
</html>

解决方案 »

  1.   

    我想应该是字符编码的问题,把你的页面改为“utf8”的试试看看,或者进行转码看看
      

  2.   

    转过了,没效果啊,转成utf8中文显示成方框,转成gb2312页面就报那些错误
      

  3.   

    你的<? echo "'{$wdu}'"?>; 这些与第一个?是否没有间隔造成的?
      

  4.   

    <!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" xmlns:v="urn:schemas-microsoft-com:vml">
    <!--后面是控制图片缩放的-->
    <style type="text/css"> 
    <!-- 
    body { 
    margin-left: 0px; 
    margin-top: 0px; 
    margin-right: 0px; 
    margin-bottom: 0px; 

    .aa { 
    font-size: 9px; 

    .STYLE1 { 
    color: #FF4444; 
    font-weight: bold; 

    --> 
    </style>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=gb2312" />
    <title>Google Maps JavaScript API Example</title>
    <!--google地图代码-->
    <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAsAsV_jBT9Fxn0YmUUxQ1qhTUMxGw_kstqiywO1DGW7W5Lh9ViBRQAfUYDOzvPtN2EdHOYyP_0AJ2VQ"> </script>
    <?php 
    //require('connectdb.php'); 
    //$sql="select * from jizhanweizhi"; 
    //$sqlcon=mssql_query($sql,$conn); 
    //$count=mssql_num_rows($sqlcon); 
    //for($i=0;$i <$count;$i++){ 
    //$b=mssql_fetch_row($sqlcon); 
    //$pn=$b[1];//名字列 
    //$wdu=$b[2];//纬度列 
    //$jdu=$b[3];//经度列 
    //echo $wdu; 
    ?>
    <script type="text/javascript">google.load("maps","2");// Call this function when the page has been loaded 
    function load() { 
    if (GBrowserIsCompatible()) { 
    var map = new GMap2(document.getElementById("map")); 
    map.setCenter(new GLatLng(40.749751, 110.819918), 5, G_HYBRID_MAP); 
    //功能键 
    map.addControl(new GLargeMapControl()); 
    map.addControl(new GMapTypeControl()); 
    map.addControl(new GScaleControl());         // 创建图标 
            function createMarker(point, info) { 
              var er = new GMarker(point); 
              GEvent.addListener(er, "click", function() { 
                er.openInfoWindowHtml(info); 
              }); 
              return er; 
            } 
            var w= <? echo "'{$wdu}'"?>; 
            var j= <? echo "'{$jdu}'"?>; 
            var p= <? echo "'{$pn}'"?>; 
            var count= <?echo "'{$count}'"?>; 
            for(i=0;i <count;i++){ 
    var point = new GLatLng(45,125.15464); 
    map.addOverlay(createMarker(point, "内蒙古 赤峰市 <br> <br> <a href=mapser_show.asp?id=2726fb0a03bb19f2 target=_blank>查看详情 </a>"));



    window.onload=google.setOnLoadCallback(load);//直接运行JS脚本 
    </script>
    </head>
    <body onunload="GUnload()">
    <? echo $pn;?>
    <div id="map" align="center" style="width:100%;height:500px"> </div>
    </body>
    </html>我帮你改过没提示你那个错误,是提示GBrowserIsCompatible这个没对象
    不知道是你提供的程序本身问题还是什么
      

  5.   

    你把PHP那点全注释掉了我不就得不到值了吗,没有值了还怎么在地图上定点啊?GBrowserIsCompatible我也不知道是干什么用的,直接从例子上抄下来的
      

  6.   

    IE下再看看吧
    我之前没弄过GOOGLE地图
      

  7.   

    这个页面如果不用PHP代码而直接标坐标就没问题,可是如果我要去数据库里取值就只能加PHP代码吧
      

  8.   

    你把你data文件夹下这个数据库相关的文件文件打包给我,是不是mysql的?
      

  9.   

    倒,原来你用的MSSQL数据库,我说怎么导入错误
      

  10.   

    发了,要不你有没有其他通信方式,QQ或者MSN什么的
      

  11.   

    googlemaps默认值是支持UTF-8编码的,
    如果想用gb2312编码的话,
    按一下方式
    <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAAsAsV_jBT9Fxn0YmUUxQ1qhTUMxGw_kstqiywO1DGW7W5Lh9ViBRQAfUYDOzvPtN2EdHOYyP_0AJ2VQ;ie=gb2312;oe=gb2312"> </script>···例:http://www.mobile-system.co.jp/googleearch.html 
      

  12.   

    Google 的地图 API 总是出错,后来气得不行,就直接开发了一个地图了:http://www.ditana.com/map 调用的google的地图图片,开发出来的也还行,能满足客户的需要。