簡體   English   中英

特殊字符不適用於StringBuilder.append(String)

[英]Special characters not working with StringBuilder.append(String)

我的部分代碼:

Scanner in = new Scanner(System.in);
String s = in.nextLine();
StringBuilder sb = new StringBuilder(s.length());
sb.append(s); 

如果添加

System.out.println(sb);

在第5行,它將輸出-如果在第4行輸入特殊字符(åäö):

String s = in.nextLine();

為什么會這樣? 我是否應該使用其他東西來獲取用戶的輸入?

編輯:如果我只是將“åäö”附加到StringBuild並使用System.out.println(sb)打印,它將正確輸出“åäö”; (其中sb是StringBuilder)。

編輯2:我正在使用NetBenas IDE 8.0

編輯3:問題似乎不是編碼。

Scanner sc = new Scanner(System.in,"utf-8");

仍然給出相同的結果。

您正在使用什么IDE。 嘗試將控制台設置為打印UTF-8字符。 如果您使用的是Eclipse,請進入“運行配置”->選擇“運行配置”->在“通用”選項卡下,更改編碼

字符串在Java中始終編碼為UTF-16。 正確設置控制台的編碼。 如果您使用的是某些IDE,則可以在Google上了解如何為控制台設置UTF-8編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM