php - Google map v3 api 不支持越南语和泰语/字符?

标签 php mysql character-encoding escaping

我正在使用 PHP 和 MySQL,位置名称数据来 self 的数据库。位置应该绘制在谷歌地图中,​​我在一个循环中有这个代码:

$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 map API 已经有一段时间了,但是 map 输出是 html,因为文本没有硬编码到图像中,对吧?您可以使用 jQuery 在加载后用泰语替换英文名称。如果您的数据库中没有英文别名,可能需要第二次 db ajax 调用来加载泰语,并在 map 调用上进行 if !(a-Z) 类型检查以使用位置 ID 而不是名称。如果您的自定义映射将限于一小部分位置,您甚至可以在初始页面加载时制作一个 .js 位置名称字典文件,以减少重复的翻译 ajax 调用。

关于php - Google map v3 api 不支持越南语和泰语/字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982327/

相关文章:

PHP/Javascript倒计时脚本

php - 进入 mysql 数据库后,Café 就变成了 Café

sed - 无法使用 tr、sed 从字符串中删除空格

MySQL/MariaDB 在使用 utf8mb4 时无法处理唯一键

php - 如何使用 PHP 反射来设置静态属性?

php - 在我的一个函数完成后,在 laravel 中的特定时间段之后,我如何安排一个函数运行?

php - 无法在 $_SESSION 中存储数据库连接

php - 具有 Symfony 表单/实体字段名称 'from' 时出现问题

MySQL ORDER BY + LIMIT + OFFSET 语句 : how to OFFSET firts and only then sort with ORDER BY

powershell - PS1 文件的正确编码是什么