NutzCN Logo
问答 linux 下写入中文文件名乱码
发布于 572天前 作者 shevawen 510 次浏览 复制 上一个帖子 下一个帖子
标签:
@At("json")
public String upload(TempFile file) {
    String path = basePath + file.getSubmittedFileName() + suffix ;
	file.write(path );
	return path
}

生成的文件中文部分变成了问号,但HTTP返回的是的结果是正常的。
在服务器上才发生,不好调试,这里问问。

服务器locale是这样的
```
[root@localhost cms]# locale
LANG=zh_CN.UTF-8
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

```

3 回复

urldecode试试

@wendal

String submittedFileName = URLDecoder.decode(file.getSubmittedFileName());

不好使

试试这样:

String path = basePath + "中文-"+file.getSubmittedFileName() + suffix ;

看看是哪部分乱码

添加回复
请先登陆
回到顶部