java - 以 utf-8 形式发送输入值? (J汤)

标签 java utf-8 jsoup

我发现了这个:<form action="https://www.quadrigacx.com/authenticate" class="form-horizontal" role="form" method="post" accept-charset="utf-8"> 我假设 accept-charset="utf-8"意味着我必须将输入值转换为 utf-8。如果是这样的话我该怎么办?我努力了: String gcText = new String(googleCode.getText().getBytes("ISO-8859-1"),"UTF-8");String ecText = new String(emailCode.getText().getBytes("ISO-8859-1"),"UTF-8");但它不起作用。感谢任何帮助,谢谢!

最佳答案

您好,请尝试此操作

String gcText = new String(googleCode.getText().getBytes("UTF-8"),"UTF-8");
String ecText = new String(emailCode.getText().getBytes("UTF-8"),"UTF-8");

字符串不需要编码。它只是一个 Unicode 字符序列。

当您想将字符串转换为字节序列时,您需要进行编码。您选择的字符集(UTF-8、cp1255 等)决定了字符->字节映射。请注意,字符不一定会转换为单个字节。在大多数字符集中,大多数 Unicode 字符都会被转换为至少两个字节。

字符串的编码是通过以下方式执行的:

 String s1 = "some text";
 byte[] bytes = s1.getBytes("UTF-8"); // Charset to encode into

当您有字节序列并且希望将它们转换为字符串时,您需要进行解码。当您这样做时,您需要再次指定字节最初编码的字符集(否则您最终会得到乱码文本)。 解码:

String s2 = new String(bytes, "UTF-8"); // Charset with which bytes were encoded 

关于java - 以 utf-8 形式发送输入值? (J汤),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466618/

相关文章:

java - 在java中创建一组 map 的动态名称

java - 如何在scala中获取笑脸的Unicode

mysql - 我可以恢复未经编码更新的 utf-8 字符串吗?

java - span html 标签的模式编译器

java - Lombok javafx 属性

java.util.ConcurrentModificationException 与迭代器(字符移动)

java - 如何重启JVM?

python - Django 模板 'ascii' 编解码器无法解码字节 0xd8

java - Jsoup Java HTML 解析器 : Executing Javascript events

java - 无法使用 Jsoup HTML 解析器 Java 实现某些功能