promotion image of download ymail app
Promoted

google maps 如何解決編碼big5無法顯

我在google maps 申了一個key 但是在以下語法我把編碼utf-8改為big5後就無法正常顯示了 ,請問有沒有高手大大可以把我找一下有什麼解決方案。

我已找了好久都找不到解決方法,因為我的資料庫一開始就是用big5編碼,如果要轉換為utf8會是一個非常大的工程。不知道有什麼方式可以先擋一下,讓我有更多時間能夠轉換資料庫。

<!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">

<head>

<meta http-equiv="content-type" content="text/html; charset=BIG5(原本為utf-8)"/>

<title>Google Maps JavaScript API Example</title>

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;k...

type="text/javascript"></script>

<script type="text/javascript">

//<![CDATA[

function load() {

if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById("map"));

map.setCenter(new GLatLng(37.4419, -122.1419), 13);

}

}

//]]>

</script>

</head>

<body onload="load()" onunload="GUnload()">

<div id="map" style="width: 500px; height: 300px"></div>

</body>

</html>

1 個解答

評分
  • 1 0 年前
    最佳解答

    解法一

    先在瀏覽器的網址列打入下列

    http://maps.google.com/maps?file=api&amp;v=2&amp;k...

    然後另存新檔為 googlemaps.js在用 notepad 開啟, 選取功能 [另存新檔], 此時要注意下方的編碼選項要從 UTF-8 改成 ASCII, 另存成檔名為 googlemaps_big5.js

    在來就是把 javascript 的 src 從google 的網址改成指向 googlemaps_big5.js, 例如

    <script src="maps2.js" type="text/javascript"></script>

    就這樣, 你就能不受限於 utf-8 編碼了, 可以把你的網頁改成 big5 了

    解法二

    根據解法一, 只能有一份固定的 js 檔, 如果 google map 的網址會因為參數的不同而產生不同的 js 內容, 那就只能再另存新檔

    但是只要我們能改變下載回來的 js檔編碼格式就ok了, 所以可以寫一個 JSP網頁 (或 Servlet)來取代原先的 google map URL,該 JSP網頁可用來接收原先網頁對 google map 的請求

    利用 HttpClient 套件,從 Server side 向 google map 發出請求並將收到的內容進行處裡

    例如

    byte[] responseBody = method.getResponseBody();

    responseXml = new String(responseBody, "utf-8");

    像這樣處裡後, 你從 google map 要來的內容已經成為 JAVA UniCode 了, 直接輸出即可

    2007-07-04 12:33:53 補充:

    阿....你好像是用 PHP 寫 code 耶, 那我上述方法是用 JAVA 解的, 不知道 PHP 有沒有類似 HttpClient 套件, 能從 Server side 發出請求並取得回應的東東耶

    根據解法一, 我們知道可以改變 google map js檔的編碼格式來配合我們的網頁

    解法二只是延伸前項方法的使用, 將人工轉碼動作改為程式轉碼而已

    2007-07-04 12:33:56 補充:

    另外在 JSP 有 pageEncoding 屬性可以設定, 像是

    <%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="big5"%>

    其中 pageEncoding 跟 contentType 裡的 charset 是可以不同的, 像這樣設定後, 我的網頁指定編碼還是 UTF-8, 但是我的程式編碼確可以是 BIG5

    不知道 PHP 有沒有類似的設定

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。