【 解决方法】:
@RequestMapping(value="/getphone",produces = "text/plaincharset=utf-8")
/**输入手机号码后判断手机号是否存在*/
@RequestMapping(value="/getphone",produces = "text/plaincharset=utf-8")
@ResponseBody
public String getphone(String phone,HttpSession session){
Users u=service.selectPhoneService(phone)
if(u==null){//如果为空,则需要注册
String str="请您先注册,再登录。"
session.setAttribute("str", str)
return "请您先注册,再登录。"
}
return "true"
【方法二,在spring-mvc.xml中添加】:
<!-- 处理请求返回json字符串的中文乱码问题 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/jsoncharset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
解决方法:1、把所有的中文转为UTF-8编码(本身是utf8的话无须转)
$data="JSON中文"
$newData=iconv("GB2312","UTF-8//IGNORE",$data)
2、把中文的urlencode一下
$testJSON=array('name'=>'中文字符串','value'=>'test')
//echo json_encode($testJSON)
foreach ( $testJSON as $key =>$value ) {
$testJSON[$key] = urlencode ( $value )
}
3、然后json_encode之后再urldecode一下转回来
$test_json_str = json_encode ($testJSON )
echo urldecode ($test_json_str)
查看输出结果为:
{“name”:”中文字符串”,”value”:”test”}
这样可以很好的解决中文JSON乱码问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)