我已經修改了很多地方,使我的Spring MVC能夠使用UTF-8工作,包括char過濾器,jsp中的contextType以及固定的MySQL,所以我的項目與UTF-8完美配合。爲什麼這個Spring MVC控制器返回損壞的UTF-8字符串?
然而,這個新添加的功能將不會得到正確
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST, produces = "text/plain;charset=UTF-8")
public @ResponseBody
String uploadFileHandler(
@RequestParam("name") String name,
@RequestParam("type") String type,
@RequestParam("file") MultipartFile file//, HttpServletResponse response
) throws IOException {
// response.setCharacterEncoding("UTF-8");
if (file.isEmpty())
return "Empty";
正如你所看到的,我已經把procudes,和所以setCharacterEncoding。返回的字符串是在阿賈克斯用,我有
var ajax = new XMLHttpRequest();
ajax.overrideMimeType('text/xml;charset=UTF-8');
這裏是形式開始在JSP
<form name = "myForm" method="POST" onsubmit="return validateForm()" enctype="multipart/form-data">
但我的網頁仍顯示????。那我還有什麼遺漏?我沒有JQuery,所以希望一個解決方案,除非必須使用它。
'返回'空''線看起來很有趣。你確定這些是ASCII字符嗎?也許他們不是 - 剪切和粘貼也許? – 2014-10-06 03:58:35
tomcat或glassfish? – 2014-10-06 09:23:01
@AlvinBunk空是UTF-8而不是ascii。看看這些信件。我認爲這是tomcat – Splash 2014-10-07 00:56:38