grails - 用grails更改文件的编码

标签 grails encoding utf-8 groovy

我认为我有一个上传表格:

<input type="file" name="file" value="search file" /><br />

在我的 Controller 中,我像这样加载它:
def file = request.getFile('file')
def f = file.getInputStream()
def input = f.getText()

因此,现在有了一个名为input的字符串,其中包含文件的内容。

我想要UTF-8。这怎么可能 ?

编辑:

我的问题是,要上传的文件位于“Windows-1252”中,而像äöü这样的德语字符现在在名为“input”的字符串中有所不同。
如果我在UTF-8中使用“Notepad ++”转换文件,然后将其上传,则可以使用。但是我每次都做不到。

编辑2:
def file = request.getFile('file')                      //get file from view
def File tmpfile = new File('C:/tmp/tmpfile.txt')       //create temporary file
file.transferTo(tmpfile)                                //copy into tmpfile
CharsetToolkit toolkit = new CharsetToolkit(tmpfile)    //toolkit with tmpfile
def charset = toolkit.getCharset()                      //save charset in a variable
def input = tmpfile.getText(charset)                    //get text with right charset

我尝试了一些不同的文档。但是变量charset总是UTF_8

最佳答案

您可以使用 getText(String charset)

def input = f.getText('UTF-8')

关于grails - 用grails更改文件的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21408288/

相关文章:

grails - 获取行时验证失败

c# - 从 32 位整数到 4 个字符的转换

ajax - 使用 Perl 从 UTF-8 网页上传带有 application/octet-stream 的图像

c++ - C++11 正则表达式中的 UTF-8 字符范围

grails - Controller 集成测试

grails-2.3.0.M1无法在IntelliJ IDEA 130.754中启动

grails - 我可以在 Groovy 中将一个闭包附加到另一个吗?

ios - 如何为 Alamofire POST 请求正文设置 UTF8 编码?

shell - 如何使用 Vim 更改现有文件的编码

python - 如何在 python 中将 url 编码的字符串转换为正确的 unicode 字符串