我有一个表单,用户输入中文/日语字符,然后将其与声明的值进行比较。问题是,即使输入和声明的值相同,也不相等。

诸如variableA = "官话"的硬编码变量不等于表单输入文本。打印时,它显示"官话"

甚至他们的长度也不相等! new String("官话").length();不等于
formInputtedCharacter.length();,其中打印时的输入是“官话”(已经有UTF-8)

怎么会这样

最佳答案

最可能的原因(如果确定表单数据已正确处理)是Java编译器在处理文字时使用了错误的编码。确保它使用与用于编辑源代码的编码相同的编码。

09-15 14:32