- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从扫描仪中捕获汉字。
我在 Windows 10 上的 cmd.exe 中运行。
我已经运行了 CHCP 65001。
这是代码。
import java.util.Scanner;
public class JavaScannerCN
{
public static void main (String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("中文 user name: ");
String username = scanner.next();
scanner.close();
System.out.println(String.format("Hello, %s", username));
System.out.println((int)'中');
System.out.println((int)username.charAt(0));
}
}
感谢@ParkerHalo提醒,看来收到的字符已损坏,因为输出是
Hello, ��
20013
96
此代码正确输出代码内的汉字,而将扫描仪捕获的汉字作为垃圾输出。
如何解决这个问题?
最佳答案
有一些原因可能会导致此问题。其中之一是 Windows 环境中的字符集。我建议使用一种诊断工具来帮助您诊断问题,进而引导您找到适当的解决方案。有一个开源 java 库 MgntUtils,它有一个实用程序,可以将字符串转换为 unicode 序列,反之亦然:
result = "Hello World";
result = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence(result);
System.out.println(result);
result = StringUnicodeEncoderDecoder.decodeUnicodeSequenceToString(result);
System.out.println(result);
这段代码的输出是:
\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064
Hello World
可以在 Maven Central 找到该库或在 Github它作为 Maven 工件提供,并带有源代码和 JavaDoc。这是类 StringUnicodeEncoderDecoder 的 JavaDoc 。
我建议您将从扫描仪收到的输入字符串转换为 Unicode 序列,这将帮助您了解您收到的信息是否已经损坏,或者您的问题是显示问题。
关于java - 此代码正确输出代码内的汉字,而将扫描仪捕获的汉字作为垃圾输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59262800/
我在 Eclipse 3.4.1 中有一个项目,我想在其中使用日语符号(如象形文字)。问题是这些符号无法在 Eclipse 中正确显示,我看到的是黑框而不是它们。 我对所有文件使用“Utf-8”编码。
我有一个 C++ 项目应该添加 到每一行的开头和到每一行的末尾。这适用于普通英文文本,但我有一个中文文本文件,我想这样做,但它不起作用。我通常使用 .txt 文件,但为此我必须使用 .rtf 来保存中
我正在尝试对中文文本进行文本分析。该程序在下面提供。我得到了带有不可读字符的结果,例如 滨烘暯镞ユ姤捐。如果我将输出文件 result.csv 更改为 result.txt,字符将正确为 人民日报社论
我有这段代码,但它只适用于英文字符 $( "input[name*='Name']" ).attr("placeholder","姓名"); 我的网页可以很好地显示其他中文字符,如果我将中文字符更改为
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎偏离主题,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或 include a mini
在 C# 窗口应用程序中,当我这样做时 select * from myTable where category = '牛奶' 或 select * from myTable where catego
我的数据库中有英文和中文字符,但是当我在 JSON 中检索时,中文字符不起作用。结果是“?”。有人可以帮助我吗? 0, "message" => 'Wrong user id'); } else {
Image to show the problem这是说明问题的代码: # -*- coding:utf-8 -*- text = u"严" print text 如果我在 VSCode 调试中运行上
美好的一天。 我在linux下直接打印带有汉字的文件时遇到问题。 我们使用CUPS来管理Linux上的打印机并通过a2ps发送打印命令。 我们的文件采用encode/unicode(UTF-8和ISO
效果如图所示: Default.aspx 复制代码代码如下: <table> <tr> <td class="s
我正在尝试将两个 double 值转换为 C++ 中的字符串,以便我可以使用 TRACE 在我的输出窗口中查看它们。我正在使用 Visual Studio 2017。这是我的主要代码: double
我正在尝试读取输入并仅在它是日文汉字时才传递它。根据http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml,这意味着 An
我需要在数据库中插入汉字,但它总是显示??? .. 示例: 插入此记录。 微波室外单元-Apple 然后就变成了??? 结果: ??????-苹果 我真的需要帮助...谢谢您的关心。 我使用的是 MS
我熟悉不同的 MySQL 排序规则,我的数据库当前设置为 UTF8_general_ci,并且我使用 UTF8_unicode_ci 进行了半成功的搜索。我正在运行 mysql 5.6,我无法使用最新
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
我是一名优秀的程序员,十分优秀!