【发布时间】:2014-03-30 07:05:45
【问题描述】:
我将谷歌地图结果存储在我的数据库中,谷歌有时会返回特殊字符,所以我尝试在存储到数据库之前先执行 encodeURI(string)。但是,它在编码时包含空格,因此难以读取数据库中的值。
如您所见,某些行中的空格也被编码为 %20。如何识别哪些字符串具有特殊字符,以便仅对这些行进行编码,而使用相同字母的其他行将保持不变?有什么有效的方法吗?
2014 年 3 月 10 日编辑: 这就是我刚刚为解决这个问题所做的:
$unreadable_characters = array("%20", "%27", "%2E", "%2C", "_");
$readable_characters = array(" ", "'", ".", ",", " ");
//然后使用 str_replace 将所有这些字符更改为其可读格式:
$keyword = str_replace($unreadable_characters, $readable_characters, $value[0]);
在从数据库中检索值时使用 urldecode() 仍然会在 UI 中输出正确的字符串 :)
【问题讨论】:
-
与其添加逻辑,不如尝试让mysql存储特殊字符stackoverflow.com/questions/1440837/…
标签: javascript encoding