Windows-1252 和 ISO-8859-1 之间的桥梁区别
Bridge difference between Windows-1252 and ISO-8859-1
我在 Scala 中遇到字符编码问题。
我正在使用的 Scala 应用程序连接到以 Windows-1252
编码的数据库
但是 Scala 应用程序的编码是 ISO-8859-1
我无法更改这些编码。
因此,当从数据库中读取一行并开始在 Scala 代码中处理时,会出现一些未知和错误编码的字符。
设置系统 file.encoding 变量无效。
这几乎奏效并修复了一些字符,但不是全部:
new String(databaseStringValue.getBytes("ISO-8859-1"), "Windows-1252")
当我尝试这个时:
private val encoder: CharsetEncoder = Charset.forName("Windows-1252").newEncoder()
...
val cp1252Buffer = encoder.encode(CharBuffer.wrap(databaseStringValue))
我收到 UnmappableCharacter 错误。
拜托,帮忙。
这是不可能的。
Windows-1252 中有 ISO 8859-1 中不存在的字符,因此 不可能 映射 Windows-1252符合 ISO 8859-1。
我在 Scala 中遇到字符编码问题。
我正在使用的 Scala 应用程序连接到以 Windows-1252
编码的数据库但是 Scala 应用程序的编码是 ISO-8859-1
我无法更改这些编码。
因此,当从数据库中读取一行并开始在 Scala 代码中处理时,会出现一些未知和错误编码的字符。
设置系统 file.encoding 变量无效。
这几乎奏效并修复了一些字符,但不是全部:
new String(databaseStringValue.getBytes("ISO-8859-1"), "Windows-1252")
当我尝试这个时:
private val encoder: CharsetEncoder = Charset.forName("Windows-1252").newEncoder()
...
val cp1252Buffer = encoder.encode(CharBuffer.wrap(databaseStringValue))
我收到 UnmappableCharacter 错误。
拜托,帮忙。
这是不可能的。
Windows-1252 中有 ISO 8859-1 中不存在的字符,因此 不可能 映射 Windows-1252符合 ISO 8859-1。