不是UTF-8文件+;java+;UTF-8数据库

不是UTF-8文件+;java+;UTF-8数据库,java,encoding,utf-8,Java,Encoding,Utf 8,我的网站有纯文本上传功能。用户可以上传不同的编码文件。我需要进行一些预处理,但最后我想将这些文件中的内容保存到数据库中的UTF-8编码文本列中 我知道Java在这种情况下确实对用户不友好,但实现它的最佳方法是什么?如果您的网站托管在*nix机器上,您最好的选择是在用户上传的任何东西上运行文件实用程序。它将为您提供编码的最佳猜测。然后,您可以使用它让重新编码将找到的任何格式转换为UTF-8。 这是非常容易出错的,因为猜测类型可能会失败,特别是在文本较短的情况下,但这是您所能做的最好的事情。用户在上

我的网站有纯文本上传功能。用户可以上传不同的编码文件。我需要进行一些预处理,但最后我想将这些文件中的内容保存到数据库中的UTF-8编码文本列中


我知道Java在这种情况下确实对用户不友好,但实现它的最佳方法是什么?

如果您的网站托管在*nix机器上,您最好的选择是在用户上传的任何东西上运行
文件
实用程序。它将为您提供编码的最佳猜测。然后,您可以使用它让
重新编码
将找到的任何格式转换为UTF-8。
这是非常容易出错的,因为猜测类型可能会失败,特别是在文本较短的情况下,但这是您所能做的最好的事情。

用户在上传时是否指定了编码,或者您是否打算猜测?不,我的用户不了解它。好的,因此您应该寻找启发式编码检测算法。其余的都很简单-Java对编码并不是“真正的用户不友好”。如果它有一个方法:字符串转换(文本,“UTF-8”)和启发式编码检测算法,它将是友好的。@smash:这甚至没有意义,因为Java中的字符串总是UTF-16代码单元的序列。Java中没有utf-8字符串。