如何在Java中检查字符串的字符集?

阿迪利亚·塔穆索娃(Adirya Taimussova)

在我的应用程序中,我从LDAP获取用户信息,有时完整的用户名使用了错误的字符集。例如:

ТеÑÑ61 ТеÑÑовиÑ61

它也可以是英语或俄语,并可以正确显示。如果用户名更改,它将在数据库中更新。即使我更改数据库中的值,它也无法解决问题。

我可以在保存之前修复此问题

new String(incorrect.getBytes("ISO-8859-1"), "UTF-8");

但是,如果我将它用于包含俄语字符的字符串(例如,“Тест61Тестович61”),则会得到类似“ ??? 61 ??????? 61”的信息。

您能提出一些可以确定字符串字符集的建议吗?

发现:

Java中的字符串AFAIK不保留其原始编码-它们始终以某种Unicode形式在内部存储。您想检测原始流/字节的字符集-这就是为什么我认为您的String.toBytes()调用为时已晚。

理想情况下,如果您可以获取正在阅读的输入流,则可以通过以下方式运行它:http : //code.google.com/p/juniversalchardet/

还有很多其他字符集检测器

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查字符串在Javascript中是否仅包含特定的特殊字符集?

如何检查字符串是否仅在Rust中包含字符集?

检查字符串中是否存在字符集-改进

如何检查字符是否来自Java中的特定字符集?

如何在 Java 中检查字符串是否包含回车 (CR) 或换行 (LF) 字符

如何在C中检查字符串

如何在JavaScript中检查字符串格式

检查字符串是否包含字符集swift之外的任何内容

检查字符串是否包含一组不工作的字符集

在Java中,如何检查字符串是否是回文?

如何检查字符是否来自特定字符集

如何在C中检查字符串中的字符串范围?

如何在 Java 中检查字符串的多个条件?

如何在Java中检查字符串是否为二进制

如何在Java中检查字符串是否仅包含数字

如何在Java中检查字符串是否为数字

如何在Java中检查字符串是否包含日期?

如何在Java中检查字符串是否为字母数字

如何在Rust中检查字符串是否包含子字符串?

如何在JavaScript中检查字符串是否包含子字符串?

如何在Ruby中检查字符串是否包含子字符串

如何在Kotlin中检查字符串是否包含子字符串?

如何在Delphi中检查字符串是否包含子字符串?

如何检查字符串中的特殊字符?

如何检查字符串中的特定字符?

如何检查字符串中的特定字符?

如何检查字符串中不同的字符数

检查字符串中的字符

检查字符串中的字符