我使用的是PHP和MySQL,位置名数据来自我的数据库。位置应该标在谷歌地图上,我在一个循环中有这个代码:

$accum_str .=  "$('#map_addresses').gMap('addMarker', {";
    $accum_str .=  "latitude: {$location['Location']['latitude']},";
    $accum_str .=  "longitude: {$location['Location']['longitude']},";
    $accum_str .=  "content: '" . htmlspecialchars($location['Location']['name']) . "',";
    $accum_str .=  "icon: {";
        $accum_str .=  "image: \"http://myappdomain.com/img/pin.png\",";
        $accum_str .=  "iconsize: [26, 46],";
        $accum_str .=  "iconanchor: [12, 46]";
    $accum_str .=  "},";
    $accum_str .=  "popup: false";
$accum_str .=  "});";

现在,如果所有位置名称都是普通字符,例如:
Bambie store

它呈现谷歌地图。但如果这些字符是越南语或类似泰语的:
Thích Quảng Đức Phú Nhu


กรุงเทพมหานคร Bangkok

…谷歌地图上什么也没显示。
在我的HTML中,我使用:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你知道为什么和怎么做吗?非常感谢你的帮助!!!

最佳答案

我用Google maps api已经有一段时间了,但是地图输出是html,因为在文本中没有硬编码到图像中对吧?加载后,可以使用jQuery将英文名称替换为泰语。可能需要第二个db ajax调用来加载泰语,以及if!(a-Z)如果数据库中没有英文别名,请在map调用上键入check以使用位置id而不是名称。如果您的自定义映射将被限制在一个位置的小列表中,您甚至可以在初始页面加载时生成一个.js位置名称字典文件,以减少重复的翻译ajax调用。

09-25 23:25