从随机/垃圾ASCII中恢复原始UTF8 /汉字/中文文本

时间:2011-11-02 23:30:36

标签: html utf-8 character-encoding ascii

我知道这可能是不可能的,但无论如何都要试一试。

所以我有一些数据作为html表单提交的结果。用户最初在某些字段中输入了汉字。但我得到的只是随机的ascii字母:

  

æŽå°çŽ²

我已经修复了编码问题(以便新表单提交处理utf8正常)但是想知道我是否可以在修复之前恢复旧数据(正确的汉字字母)。

感谢您的帮助。

更新

猜猜需要一点澄清。正如我所说,我已经已经修复了html表单的编码问题。实际的问题是,是否可以从我已收到的“垃圾”数据中恢复原始汉字。

例如,我正在尝试“逆向工程”以下

ôüÒýR
å¼µå¥éºŸ
冉榆平
·¨¶vÚ¬

每一行都应该是汉字或汉语中某人的名字。我尝试了所有合理的编码,如GBK,gb18030和Big5-HKSCS。到目前为止没有运气。

上次更新:

现在运气好BIG5编码。它不适用于所有垃圾数据,但它适用于大约2/3的垃圾数据。

3 个答案:

答案 0 :(得分:1)

使用Character set converter - online tool

  • 输入编码应为UTF8

  • 对于输出编码,请尝试所有东方字符的合理编码。

  • 请记得选中第二个复选框。

大多数(如果不是全部)垃圾信件应该被恢复。

答案 1 :(得分:0)

那些字母不是 ASCII。没有ASCII字母有任何类型的重音。

目前还不清楚你是如何阅读这些数据的 - 它是来自文件,数据库还是别的什么?无论如何,它可能已经 in UTF-8 - 所以你应该尝试使用该编码来读取它。你还没有告诉我们你正在使用什么平台,但是你应该确保无论你 使用什么,你都可以找到你用来读取的Unicode字符 - 这比将值打印为字符要可靠得多。

答案 2 :(得分:-1)

仅供参考,java String类由2字节字符支持,并在unicode仅为2个字节时进行设计。因此它不处理3字节的日文和中文字符。见http://java.sun.com/developer/technicalArticles/Intl/Supplementary/