- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我找了好久都没找到和我有同样问题的人。当我在 Eclipse 中运行我的程序时,一切看起来都很好。一旦我在 Windows CMD 中运行它,我的 ArrayList 中的所有特殊非 ASCII 字符都会被替换为 ?。 Dog类中有两个属性是字符串,分别是“name”和“race”。
这是在我的主程序中打印列表的代码:
System.out.println("\r\nLista på hundar i hundregistret: " + viewDogList.toString() + "\r\n");
以下是我的 Dog 类、属性和使用的方法的信息:
private String name; //attribute for the dog's name
private String race; //attribute for the dog's race
public Dog(String name, String race, int age, double weight)
public String getName() { //hämta hundnamn
return name;
}
public void setName (String name) { //sätta hundnamn
this.name = name;
}
public String getRace() {
return race;
}
public void setRace (String race) { //sätta hundras
this.race = race;
}
这就是 Dog 列表的构建方式和 Dog 对象的添加方式:
ArrayList<Dog> viewDogList= new ArrayList<Dog>();
Dog dogInstance = new Dog("", "", 0, 0.0);
viewDogList.add(dogInstance);
当我添加 Dog 对象后在 Eclipse 中打印列表时,它显示为:
[Bjäbbis Schäfer 12 år 12.0 kg svans=14.4]
但是,如果我在 CMD 中编译并运行该程序,同一行将显示为:
[Bj?bbis Sch?fer 12 år 12.0 kg svans=14.4]
是否有任何解决方案可以让它发挥作用?我已经阅读了一些有关字节、字符串、字符转换的内容,但我认为这不是我要找的内容!
编辑:我忘了提到所有与 ArrayList 无关的字符串都正确显示在 Windows CMD 中。所以奇怪的是只有ArrayList的内容显示不正确。
我也像这样在 Dog 类中超限了 .toString 方法:
public String toString() {
return name + " " + race + " " + getAge() + " år " + getWeight() + " kg " + "svans="+ getTailLength();
}
感谢任何帮助!时间差
最佳答案
编辑:我已撤销我的回答,因此其信息现在是正确的。
包含 å、ä、ö 等特殊字符的普通字符串之所以起作用,是因为这些字符串以 cmd 可以读取的方式进行编码。
当您使用扫描器时,字符串以 cmd 无法读取的方式编码,因此,您必须确保所有扫描器输入都正确编码,以便 cmd 可以读取它。
可以通过修改Scanner来设置输入的字符编码:
new Scanner(System.in, "UTF-8")
编辑:Windows 中的另一个问题导致 cmd 不接受 chcp 更改。 'chcp' is not recognized as an internal or external command, operable program or batch file. on a Windows PC
编辑:将 cmd 设置为 chcp 65001/UTF-8 无效。
结论:cmd默认不支持UTF-8,但是设置cmd为UTF-8(chcp 65001)对java不起作用。如果您仍然输入非 ascii 字符,输出仍然不正确并且程序会崩溃。
编辑:
绝对没有办法让 cmd 使用 UTF-8。我必须使用扫描仪来:
new Scanner(System.in, "cp850")
当然,这使得 Eclipse 无法正确显示 å、ä、ö 字符,因此我不得不手动将 Eclipse 控制台设置为显示 chcp 850,就像 Windows cmd 默认情况下所做的那样。
微软对这一切都有过错。绝对没有逻辑 cmd 不支持 UTF-8,而且从来没有。这太愚蠢了。我敢打赌这与贪婪的 M$ 想要 $$$ 有关。
关于java - 特殊的非 ASCII 字符显示为 ?打印 ArrayList 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33940121/
我以一种特殊的方式收到以下错误。 The point at which the driver is attempting to click on the element was not scrolle
我有一些包含如下方法的编译库: public boolean foo(String userID) { Class ntSystemClass = Thread.currentThread()
假设我有下表 name | genre --------------------- book 1 | scifi book 2 | horror book 3
我正在用代码进行语言翻译。 self.title.text = [NSString stringWithFormat:NSLocalizedString(@"Q%ld", nil), (long)qu
我想这样做,但到目前为止,我所拥有的只是: print("Will you go out with me?") 我希望代码能够正常工作,以便人们可以回答“是/否”,如果回答是"is",则将返回一条消息
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How can I decode html characters in c#? 我有来自 HTML 的字符,
我想在 JavaScript 中对以下形式的字符串执行 ucwords(),它应该返回 Test1_Test2_Test3。 我已经在 SO 上找到了一个 ucwords 函数,但它只需要空格作为新词
“任何长度的正数表示为数字字符数组,因此介于‘0’和‘9’之间。我们知道最重要的密码位于数组索引 0 的位置。 例子: - 号码是 10282 - 数组将是数字 = [1,0,2,8,2] 考虑到这一
我目前正在开发一个显示特殊 unicode 字符(例如 ꁴ)的应用 现在我遇到了在旧设备上无法显示这些符号的问题。我如何知道它是否适用于当前设备? 我是否必须为每个 SDK 版本创建一个虚拟 Andr
在 HTML、XML 和部分 DTD 中,有两种特殊的标记结构: 以感叹号开头的标签结束,例如 和 以问号开头的标签 ,例如 和 我的问题是,这些构造类型中的每一种是否都有不同的名称,或者我是否必
我目前正在用 python 构建一个 shell。shell 可以执行 python 文件,但我还需要添加使用 PIPE 的选项(例如“|”表示第一个命令的输出将是第二个命令的输入)。 为了做到这一点
我的 MVC 项目中的路由无法正常工作... 我希望我所有的 View 都在 Views > Shared 文件夹中,如下所示: Error.cshtml (default) Index.cshtml
我有一个函数: public static ImageIcon GetIconImageFromResource(String path){ URL url = ARMMain.class.g
好的,所以我想在我的 html 页面中包含下面的字符。看起来很简单,只是我找不到它们的 HTML 编码。 注意:我想在没有大小元素的情况下执行此操作,纯文本就可以了 ^_^。 干杯。 最佳答案 你可以
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 3 年前。
我是 C# 的新手,正在尝试使用 ASP.Net GridView(框架 3.5),当 gridView 文本包含以下内容时,我发现了一个大问题: ñ/Ñ/á/Á/é/É/í/Í/ó/Ó/ú/Ú or
在 Java 中,我尝试编写一个正则表达式来匹配特殊类型的 HTTP URL: http:///# 所以字符串有 4 段: 字符串文字:“http://”;那么 任意 1 个以上字符的字符串;那么 字
当我写查询时,我在表中有“to”列 SELECT to FROM mytable mysql_error 返回错误,如果将单词to插入``引号,即 SELECT `to` FROM mytable 查
我遇到了一个问题。事实上,我使用越南语文本,我想找到每个包含大写字母(大写字母)的单词。当我使用“re”模块时,我的函数 (temp) 没有捕捉到像“Đà”这样的词。另一种方法 (temp2) 是一次
在我的文本中,我想用一个空格替换以下特殊字符: symbols = ["`", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_",
我是一名优秀的程序员,十分优秀!