Java-使用扫描仪读取字符串,给我奇怪的字符
如何保存字符串:Java-使用扫描仪读取字符串,给我奇怪的字符,java,java.util.scanner,Java,Java.util.scanner,如何保存字符串: 在对标题进行一点解析之后,只需对引号使用一个简单的分隔符,即 使用分隔符(\”)并使用 lineScanner.next(),我得到的标题是 TURN:Washington's Spies(电视连续剧2014–欧元)–IMDb 这是我通过控制台得到的,也是我在设置JLabel文本时看到的 TURN:Washington's Spies(电视剧2014-)-IMDb 如何避免这种情况?2014年电视剧之后的-字符是unicode符号 用UTF-8编码这是E28093(十六进制)
在对标题进行一点解析之后,只需对引号使用一个简单的分隔符,即
使用分隔符(\”)
并使用
lineScanner.next()
,我得到的标题是
TURN:Washington's Spies(电视连续剧2014–欧元)–IMDb
这是我通过控制台得到的,也是我在设置JLabel文本时看到的
TURN:Washington's Spies(电视剧2014-)-IMDb
如何避免这种情况?2014年电视剧
之后的-
字符是unicode符号
用UTF-8编码这是E28093(十六进制)
您的扫描器似乎不知道他正在读取UTF-8编码字符串,但认为它是Windows-1252编码字符串,因此它正在读取3个字符E2
(–)、80
(€)和93
(“”):
我如何避免这种情况
让您的扫描仪
读取UTF-8:
请发布您的代码。您可能应该使用XML解析器来执行复杂(甚至是中等复杂)的操作从HTML字符串中提取操作。看起来您在错误的字符集中解析它-我猜它是保存为UTF-8,而您正在加载为ISO-8859-1。请说明如何创建lineScanner
。我认为这个问题不需要任何改进
lineScanner = new Scanner(/*...*/, "UTF-8");