memcached客户端抛出java.lang.IllegalArgumentException:密钥包含无效字符

use*_*384 4 memcached utf-8

似乎memcache客户端不支持UTF-8字符串作为其密钥.但我必须使用i18n.无论如何要解决它?

java.lang.IllegalArgumentException:Key包含无效字符:net.spy.memcached.MemcachedClient.addOp中net.spy.memcached.MemcachedClient.validateKey(MemcachedClient.java:232)上的``HK:00:A Kung Wan''( MemcachedClient.java:254)

mik*_*ied 12

这里的问题不是UTF编码.这是你的密钥包含空格的事实.键不能包含空格,换行符,回车符或空字符.

产生异常的代码行如下

if (b == ' ' || b == '\n' || b == '\r' || b == 0) {
    throw new IllegalArgumentException
        ("Key contains invalid characters:  ``" + key + "''");
}
Run Code Online (Sandbox Code Playgroud)