我正在关注phpsqlgeocode.html
文章中的演示代码在db中,我插入了一些中文地址,这些地址是utf-8编码的。一世 在urlencode之后找到中文地址,输出地址 会错的。像这样:
然后输出200,5,59.3266963,18.2733433(我不能通过PHP查询,而是通过浏览器查询)。
这个地址实际上位于台湾台中,但事实证明是这样 在瑞典,欧洲。但是当我粘贴中文地址(如台中市西屯区智惠 街131巷56号58号60号)在网址上,结果很好!
如何确保发送原始中文
地址?如何避免urlencode()
?我发现删除urlencode()
并没有改变任何内容。
(我已将maps.google.com中的MAPS_HOST更改为 maps.google.com.tw。) (我确定我的密钥是正确的,其他英文地址地理编码是 细。)
答案 0 :(得分:0)
q=%3F%3F%3F%3F%3F%3F%3F%3F%3F132%3F
解码为:
?????????132?
所以在URL编码之前已经破坏了字符串。如果您尝试将中文字符转换为不支持中文字符的编码(例如Latin-1),则可能会发生这种情况。
您需要确保在整个应用程序中始终如一地使用UTF-8。特别是,您需要确保使用UTF-8字符集存储数据库中的表;在MySQL术语中,UTF-8整理。 MySQL的默认排序规则是Latin-1。您还需要通过调用1mysql_set_charset('utf-8')来确保您与数据库的连接使用UTF-8。
(我猜你的问题是你正在使用PHP。)