java - SpringMVC4.3.7在使用@ResponseBody注解并返回含有中文字符串时字符串显示为问号的问题
PHP中文网
PHP中文网 2017-04-18 10:49:27
0
3
625

实际上是想用来做JSON的返回,团队比较习惯用org.json。。。。

在项目中使用了@ResponseBody来注解一个返回值为String的函数。函数里边获取了一些键值对,键值对用org.json转成了json格式,然而在输出的时候出了问题。响应结果中所有的中文都变成了问号,而在return前直接用System.out.println输出到控制台却不是乱码或者问号。在网上搜了一些解决方案,不管是加在RequestMapping里的content-type(完全看不到变化)还是加在xml的annotation-driven(直接编辑器保错找不见这么个用法)。求教这个版本的SpringMVC应该如何从根本上解决掉乱码问题?
至于为啥不用直接返回Jackson的生成方式,额。。。。。。实在解决不了乱码问题再考虑。。。

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(3)
刘奇

Cuba tambah parameter permulaan: -Dfile.encoding=utf-8

Melihat pada penerangan anda, saya rasa ini adalah masalah dengan MessageConverter

大家讲道理

Tambah ini

<bean
        class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="jsonMessageConverter" />
            </list>
        </property>
    </bean>

    <!-- Configure bean to convert JSON to POJO and vice versa -->
    <bean id="jsonMessageConverter"
        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
    </bean>
阿神

Ia telah diselesaikan berdasarkan anotasi tidak disokong kerana fail definisi ruang nama yang dirujuk oleh pengepala xml yang dijana oleh idea ialah 3.0 Hanya menukarnya kepada yang terkini. didorong. Tentukan sifat pengekodan itu.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan