在搜索时日志统计中发现有好多零结果的关键词是乱码,而且是每天都有的重复性的,有的乱码甚至把url后面传的参数一并影响了,于是乎,干上了·~·
首先不能影响其他参数的传入吧,在url中关键词后面加了个空格,这样就可以通过&正常传参了;
接下来,得看看这个乱码是什么了,看看到底是客户端、服务端还是DB的问题了,DB的是UTF-8的,网页时UTF-8的;那就从服务端开始查了,看看是不是
数据传输时编码问题,前端传输数据到后端有个json_encode的操作,函数规定参数必须为UTF-8的,那么也就是说前后端传输时是没有问题的,那后端对数据
的解析是否有问题呢。。在服务端对传的参数进行了转拼音记录,发现转的拼音就是乱码的拼音,所以排除;
那再向前面走,看看是不是用户做了什么操作所导致的,在之前的测试查找中,发现和乱码一并传来的英文是正确的,那么我想在客户端先转一次拼音,看看
是不是乱码的拼音,结果是,依然是乱码的拼音,那么初步估计是用户浏览器浏览网页用的不是UTF-8的编码所导致的,用Oopera GB2312试了一下,的确
重现了问题。。不容易啊。。。
那既然拼音可以不乱码,那么用拼音辅助一下吧,正好有词库,可以用词库来进行拼音的匹配,当然这只是辅助的。。不知道有没有人还有更好的办法了。。
http://www.oracle.com/technetwork/java/javase/downloads/index.html