[b]1.问题描述[/b]
使用kendo ui的textarea,前台输入的空格多于一个的时候存入后台后空格的个数不对,有的变成了问号?
[b]2.问题分析[/b]
debug前端js和java后台发现分明都是正常的空格显示,但是输出到日志和存入数据库的都不对,有问号。看来是编码的问题,查资料发现:[url]http://blog.youkuaiyun.com/wuhongyao3/article/details/5834921[/url],看来确实是编码问题,而且非常隐蔽。debug前端js,把textarea的值拷贝到ue里以2进制查看,确实是出现了0x3f.
[b]3.解决[/b]
上面引用的url的解决办法是c#版的,java后台可以:
使用kendo ui的textarea,前台输入的空格多于一个的时候存入后台后空格的个数不对,有的变成了问号?
[b]2.问题分析[/b]
debug前端js和java后台发现分明都是正常的空格显示,但是输出到日志和存入数据库的都不对,有问号。看来是编码的问题,查资料发现:[url]http://blog.youkuaiyun.com/wuhongyao3/article/details/5834921[/url],看来确实是编码问题,而且非常隐蔽。debug前端js,把textarea的值拷贝到ue里以2进制查看,确实是出现了0x3f.
[b]3.解决[/b]
上面引用的url的解决办法是c#版的,java后台可以:
byte[] space = new byte[]{(byte)0xc2,(byte)0xa0};
String UTFSpace = null;
try
{
UTFSpace = new String(space,"utf-8");
}
catch (Exception e)
{
log.error("", e);
}
// 这里的smsContent就是前端传过来的包含乱码的值。
smsContent = smsContent.replace(UTFSpace," ");