请管理员不要把这个帖子转到提问区,我主要是想让大家讨论下,谢谢
列出我的笔记本上可用的网络接口,但是,无论如何就是乱码,
我的笔记本是 联想Y430;OS: windows xp pro sp3;JDK: 1.4.2_10
代码非常简单,如下:
package examples.a06;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class InterfaceLister {
public static void main(String[] args) throws Exception {
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
System.out.println(ni);
}
}
}
输出是:
name:lo (MS TCP Loopback interface) index: 1 addresses:
/127.0.0.1;
name:eth0 (W-ibeda virtual adapter - ????ü??????ò?????) index: 2 addresses:
name:eth1 (Broadcom NetLink (TM) Fast Ethernet - ????ü??????ò?????) index: 65540 addresses:
/192.168.0.100;
name:eth2 (Intel(R) Wireless WiFi Link 5100 - ????ü??????ò?????) index: 458757 addresses:
name:ppp0 (WAN (PPP/SLIP) Interface) index: 786438 addresses:
/117.88.171.252;
我甚至把程序改成如下,但还是不能得到正确的结果:
package examples.a06;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class InterfaceLister {
public static final String[] ENCODEING = { "iso-8859-1", "gb2312",
"gbk", "big5", "gb18030", "utf-8", "utf-16"};
public static void main(String[] args) throws Exception {
Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
String strDisplay = ni.toString();
for (int i = 0; i < ENCODEING.length; i++) {
byte[] bArray = strDisplay.getBytes(ENCODEING[i]);
for (int k = 0; k < ENCODEING.length; k++) {
String newStr = new String(bArray, ENCODEING[k]);
System.out.println(ENCODEING[i] + "-->" + ENCODEING[k]);
System.out.println(newStr);
System.out
.println("***************************************");
}
}
}
}
}
我怀疑这个JDK的一个bug,也就是说,NetworkInterface 中的 displayName 在JDK内部就是乱码的,否则不会出现这种情况的
另外:在CSDN上挂了好几天,也没人能解决这个问题,所以,发到这里和大家一起讨论下,我还就不信了这个问题不能解决了
分享到:
相关推荐
如果任一环节出现编码不匹配,就会导致乱码。 3. 解决Java中文问题的方法 - **设置源文件编码**:使用支持设定编码的编辑器(如IDEA, Eclipse)并确保编码设置与源文件实际编码一致。 - **编译时指定编码**:使用`...
ZXing,全称为“Zebra Crossing”,是一款由Google开发并维护的开源项目,主要用于生成和解码各种类型的条形码和二维码(QR Code)。这个项目提供了多种编程语言的API,包括Java,使得开发者能够轻松地在自己的应用...
这个方法涉及到将字符串从一种编码格式转换为另一种编码格式。在给出的示例中,`util.Encoding` 类的 `isToGB` 方法用于将ISO_8859_1编码的字符串转换为GBK编码。ISO_8859_1是一种西欧字符集,不支持中文字符,而GBK...
在数据库连接字符串中指定字符集为`utf8`,确保数据库操作中涉及到的中文数据不会出现乱码。 4. **处理URL中的中文参数**: ```java String keywords = java.net.URLEncoder.encode(keywords, "utf-8"); ``` ...
- **Firefox处理**:Firefox支持UTF-8编码,但当文件名作为HTTP响应的一部分时,需要先将UTF-8编码的字符串转换为ISO-8859-1编码再发送给浏览器。 ```java filename = new String(filename.getBytes("UTF-8"), ...
示例代码中,我们看到一个名为`Hello`的Web方法,它接收一个字符串参数并返回包含中文的字符串。 - 配置Web服务的`web.config`文件,将请求和响应编码设置为与J2ME相匹配的编码,通常是GBK或GB2312,因为J2ME的...
这是由于数据库连接字符串中的字符集编码未被正确设置导致的。 **解决方案**:为了避免这种问题,在数据库连接字符串中明确指定使用UTF-8编码。例如: ```java String url = "jdbc:mysql://localhost:3306/test?...
在数据库连接字符串中添加特定的参数来指定字符集,例如使用GBK编码: ```java String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=GBK"; ``` 这样设置之后,可以确保数据库连接...
Java编程语言在处理中文字符时,可能会遇到乱码问题,这主要是由于编码格式不一致或者编码设置不当导致的。在深入探讨这个问题之前,我们需要先理解什么是编码,以及它如何影响到Java程序处理中文字符。 编码是将...
当读取.properties文件时,可能会出现乱码问题,这是因为文件本身的编码格式与程序解析时所用的编码不一致。例如,一个使用ISO-8859-1编码的.properties文件,在使用GBK编码进行解析时会出现乱码。解决方法: ```...
- 使用JDK的javac编译器编译.java文件,Java编译器能够识别Unicode注释和字符串,但源文件的编码是GBK。 - 编译过程中,Java编译器会将GBK编码的源文件转换为内部的Unicode格式,生成.class字节码文件。 - 运行时...
Java编程中的乱码问题主要源于计算机历史上的编码标准演变,以及Java作为一种跨平台语言与不同系统编码不兼容的情况。在早期,计算机系统主要使用单字节编码,如ASCII,来处理英文字符。随着多语言需求的增长,...
在JDBC连接字符串中加入`useUnicode=true&characterEncoding=GBK`,确保数据库连接使用正确的字符集编码。 ```java String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK"; ...
6. **字符串拼接与比较**:Java中的`String`类是基于Unicode的,但在进行字符串拼接或比较时,如果涉及到其他编码的字符串,需先进行正确的编码转换。 7. **国际化与本地化**:Java的`java.text`包提供了`Format`和...
- 在代码中处理字符串编码转换的示例。 6. **测试工程** 压缩包内的测试工程包含了实际运行的代码和配置,可以帮助开发者快速理解Pushlet_Chat群聊系统的结构和工作原理。通过运行这个工程,可以验证中文字符的...
1. **修改数据库连接字符串**:在数据库连接URL中增加`useUnicode=true&characterEncoding=GBK`参数,以确保使用统一的编码格式。 ```java String url = "jdbc:mysql://localhost:3306/yourdb?useUnicode=true&...
- 在建立数据库连接时,确保连接字符串中包含了正确的字符集信息,如: ```java String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8"; ``` **5. 针对不同服务器平台的...
JDK的正确安装对于Java初学者来说至关重要,而理解Print与println的区别、Null与空字符串的区别则是编程过程中的基础知识点。此外,统一编码格式也是避免乱码问题的关键。通过本篇文章的学习,相信你已经对Java学习...
此外,对于特定类型的数据库字段(如`VARCHAR`或`TEXT`类型),还需要确保它们的编码格式与连接字符串中指定的编码一致,以避免乱码问题。 综上所述,解决JSP中的乱码问题需要从多个方面着手,包括页面编码、表单...
这个问题通常表现为乱码或者无法正确解压,因为默认情况下,`ZipInputStream`可能不支持非ASCII字符集,尤其是中文字符,这些字符在编码和解码过程中可能会出现错误。 要解决这个bug,我们需要理解几个关键的概念:...