header("charset=utf-8")
在存储前,先把存储的字符串转码。
$string = iconv('UTF-8','GBK',$string)
这时候存储在redis中的中文就是GBK字符集的,读取的时候不是乱码了。
原理是window大部分系统上支持GBK字符集。
将乱码后的中文放入redis-key中,该怎么取值*
* @throws UnsupportedEncodingException
*/
private static void method1() throws UnsupportedEncodingException {
addKeyToHash()
// 根据key取出
// 转为乱码格式的字符串
String s = "天津"
byte[] n2 = s.getBytes("gb2312")
String gn2 = new String(n2, "utf-8")
// 应该用对应的乱码去取
Set<Tuple>res = jedis.zrangeWithScores("hot_projects_" + gn2, 0, -1)
Iterator<Tuple>it = res.iterator()
while (it.hasNext()) {
Tuple t = it.next()
System.out.println("element:" + t.getElement().toString() + ",score:" + t.getScore())
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)