URLEncoder 西里尔文编码 UTF-8 错误结果
URLEncoder Cyrillic encode UTF-8 bad result
String text = URLEncoder.encode("кот", "UTF-8");
System.out.println("\nEncoding result : " + text);
编码结果: %D0%A0%D1%94%D0%A0%D1%95%D0%A1%E2%80%9A
但我预计: %D0%BA%D0%BE%D1%82
(看这里http://meyerweb.com/eric/tools/dencoder/)
我需要做什么才能得到 %D0%BA%D0%BE%D1%82
作为结果?
- 我的文件是没有 BOM 的 UTF-8。
- 如果我将其设为 ANSI - 一切正常。
- 但是!我如何强制它使用没有 BOM 的 UTF-8?
您的 IDE 或编辑器将您的源文件显示为 UTF-8,但 javac
编译器可能根据您的 OS 区域设置使用默认编码。使用选项 javac -encoding utf-8
覆盖它。
String text = URLEncoder.encode("кот", "UTF-8");
System.out.println("\nEncoding result : " + text);
编码结果: %D0%A0%D1%94%D0%A0%D1%95%D0%A1%E2%80%9A
但我预计: %D0%BA%D0%BE%D1%82
(看这里http://meyerweb.com/eric/tools/dencoder/)
我需要做什么才能得到 %D0%BA%D0%BE%D1%82
作为结果?
- 我的文件是没有 BOM 的 UTF-8。
- 如果我将其设为 ANSI - 一切正常。
- 但是!我如何强制它使用没有 BOM 的 UTF-8?
您的 IDE 或编辑器将您的源文件显示为 UTF-8,但 javac
编译器可能根据您的 OS 区域设置使用默认编码。使用选项 javac -encoding utf-8
覆盖它。