参考:https://www.branah.com/unicode-converter
我是scala和java的新手,并尝试使用scala编写.properties文件(使用少数语言,如中文,法语,德语等)进行国际化功能。为此,我使用以下代码:
for ((key, val) <- jsonData.get.asInstanceOf[Map[String, String]]) {
var file: PrintWriter = null
file = new PrintWriter(filepath, "UTF-8")
prop.setProperty(key, val)
prop.store(file, "")
file.close()
}
所以这段代码正在运行,但它的写文件采用UTF-8格式,如:
传播特征设计师考虑测量 düşünce
在浏览器中无法正常呈现,因此我想将其转换为UTF-16 unicode格式,如:
这是一个很好的选择 \ u0064 \ u00fc \ u015f \ u00fc \ u006e \ u0063 \ u0065根据此转换器:https://www.branah.com/unicode-converter
我无法访问客户端,因此无法在此处发布该代码,但我确信它与通过ajax从.properties文件中获取数据并在浏览器中呈现数据相同。
如何将其转换为utf-16 unicode,以便在浏览器中正确呈现。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以为Charset
使用相同的代码和用户"UTF-16"
for ((key, val) <- jsonData.get.asInstanceOf[Map[String, String]]) {
var file: PrintWriter = null
file = new PrintWriter(filepath, "UTF-16")
prop.setProperty(key, val)
prop.store(file, "")
file.close()
}
请检查支持的java Charset https://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html
答案 1 :(得分:0)
自己解决了。
将PrintWriter
替换为var file: File = null
file = new File(filepath)
var fos: FileOutputStream = null
fos = new FileOutputStream(file)
prop.setProperty(key, val)
prop.store(fos, "")
并且有效:)
__VA_ARGS__
感谢@Jon Skeet的帮助。