我将谷歌地图结果存储在我的数据库中,谷歌有时会返回特殊字符,所以我尝试先将encodeURI(字符串)存储到数据库之前。但是,它在编码时包含空格,因此很难读取数据库中的值。
如您所见,某些行中的空格也编码为%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中输出正确的字符串:)
答案 0 :(得分:2)
我认为您可以使用正则表达式来检查字母:
var st = $('#id').val();
if(/^[a-zA-Z0-9- ]*$/.test(st) == false) {
alert('string contains non english characters');
}