myeclipse,eclipse控制台输出乱码问题
首先我描述一下问题,我在做udp socket编程(一个聊天的程序)的时候,从控制台中读取中文,然后再向控制台中打印,出现中文乱码的情况。
1、出现乱码最根本的原因就是编码和解码不一致的情况。问题分析,从控制台中读取数据,数据源为控制台,输出为乱码,目标源也为控制台,但是在读取和输出的过程中有可能出现乱码,
最简单的例子就是控制台上的编码为gbk,gbk是两个字节编码的,而utf-8是三个字节。所以会出现乱码问题,

2、解决办法
(1)打开eclipse或myeclipse,点击run-》runconfigurations

如图提示,改成UTF-8,但是这里强调一下,有的eclipse或myeclipse有可能是gbk的形式,不同形式改成不同的编码,多尝试一下。

这里也需要更改一下。
(2)方法二:
打开eclipse.ini文件(在eclipse的安装目录) 添加上这句话 -Dfile.encoding = utf-8,设置系统属性file.encoding为utf-8.
2、附上我做的一个聊天的小程序,把ip到时候可以改成你想聊天的那个人的ip,两边都要运行这段代码。
package com.hzwealth.test.chat; import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress; /**
* C&D聊天室
* @author lixiaochao
*
*/
public class UdpChatTest {
public static void main(String[] args) {
new Thread(new UdpClientThread()).start();
new Thread(new UdpServerThread()).start();
}
}
/**
* 发送端
* @author lixiaochao
*
*/
class UdpServerThread implements Runnable{ @Override
public void run() {
try {
DatagramSocket ds = new DatagramSocket();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in,"UTF-8")); String line = null;
while((line = reader.readLine())!= null){
//这里注意,我们需要写上你对话人的ip地址。
InetAddress address = InetAddress.getByName("你的对话人的ip地址");
DatagramPacket dp = new DatagramPacket(line.getBytes(), line.getBytes().length, address, 9999);
ds.send(dp);
System.out.print("我说:"+line+"\n\r");
if("~over".equals(line)){
System.out.println("发送者退出");
break;
}
}
reader.close();
ds.close();
} catch (Exception e) {
e.printStackTrace();
}
} }
/**
* 接收端
* @author lixiaochao
*
*/
class UdpClientThread implements Runnable{ @Override
public void run() {
try {
DatagramSocket ds = new DatagramSocket(9999);
System.out.println(System.getProperty("file.encoding"));
while(true){
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
InetAddress address= dp.getAddress();
String msg = new String(buf, 0, buf.length,"GBK");
System.out.println(address+"说:"+msg);
if("~over".equals(msg)){
break;
}
}
ds.close();
} catch (Exception e) {
e.printStackTrace(); }
} }
如果有什么问题,需要大家指正!
当你的野心撑不起你的梦想时,请静下心来学习!
当你的经济撑不起你的欲望时,请低下头来默默地工作!
myeclipse,eclipse控制台输出乱码问题的更多相关文章
- Eclipse中执行Maven命令时控制台输出乱码
Maven 默认编码为 GBK: 在 Eclipse 控制台输出乱码: 解决方法:将以下代码添加到 pom.xml 的 <project> 节点下: <project> …… ...
- Maven 执行Javadoc时控制台输出乱码问题
1.0 Maven 执行Javadoc时控制台输出乱码问题 问题描述 最近项目中使用maven-javadoc-plugin生成javadoc时,myEclipse控制台乱码. 插件配置 问题分析 ...
- Web运行控制台输出乱码解决总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Spring Boot2解决idea console 控制台输出乱码
Idea默认配置是采用GBK, 而项目工程文件采用的是UTF-8. 编码不一致,导致idea Console控制台输出乱码. 网上的解决方案,大都是直接修改Settings=>Editor=&g ...
- 解决Tomcat控制台输出乱码问题
解决Tomcat控制台输出乱码问题 打开Edit Configuration,在VM options一栏输入 -Dfile.encoding=UTF-8 然后到IDEA的bin目录找到 idea64. ...
- Eclipse设置之:代码注释/server 控制台输出乱码解决
1 Eclipse设置 Configure clean up style The location is here: And the configuration should fo ...
- Eclipse控制台输出中文乱码问题的解决
啥都不说,上图: 1.console控制台打印乱码 2.右键: Run As --> Run Configurations 3.找到common项,在“Encoding”栏,看到当前用的是默认“ ...
- eclipse控制台中文乱码解决
Eclipse控制台中的中文输出乱码问题 博客分类: MySql EclipseTomcatXMLWeb 今天做S2SH集成的例子,所有该设置的地方都设置成了UTF-8,包括tomcat的配置文件s ...
- mac中的myeclipse的控制台中文乱码问题解决办法
之前写java用到控制台的主要是字符和数字,中文输入貌似真的还没用过,所以就遇到了一个悲剧的老问题,估计每个程序员都会遇到——中文乱码. 用的是MyEclipse开发环境,Window->Gen ...
随机推荐
- 情人节那点事,Power BI告诉你
情人节伴随着元宵节刚刚过去,Power BI团队就送给我们一份大礼,利用来自NRF(national retail foundation)和Bing搜索的数据,在Power BI中帮助我们发现在美国那 ...
- java web.xml配置详解
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- 简单的SQL联表更新
UPDATE dbo.bankinfo1 SET bankinfo1.BankName=BankInfo.BankName FROM BankInfo where bankinfo1.banknumb ...
- codeforces#271 (Div. 2)预处理
B. Worms time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...
- Jquery和其他库($的好处)
---很多时候我们的页面 会使用很多的 javascript库 ---而这个时候 jQuery这款重点在满足社区用户的需求的工具 做好了让jQuery在页面上与其他库和平共处的准备 凭借名副其实的 ...
- PHP-Redis扩展使用手册(三)
/* 序列化key对应的value,如果key不存在则返回false * @param key * @return 序列化后的val或者false */ $redis->set('key_1', ...
- Multiple annotations found at this line
Multiple annotations found at this line 在使用MyEclipse的时候,通过MVN导入项目时候,webapp下面的JSP页面报了如下的错误: 这种情况通常的原因 ...
- Linux中总线设备驱动模型及平台设备驱动实例
本文将简要地介绍Linux总线设备驱动模型及其实现方式,并不会过多地涉及其在内核中的具体实现,最后,本文将会以平台总线为例介绍设备和驱动程序的实现过程. 目录: 一.总线设备驱动模型总体介绍及其实现方 ...
- 基于Spring + Spring MVC + Mybatis + shiro 高性能web构建
一直想写这篇文章,前段时间 痴迷于JavaScript.NodeJs.AngularJS,做了大量的研究,对前后端交互有了更深层次的认识. 今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详 ...
- Python In Action:三、稍稍扩展
#!/usr/bin/env python """Spare.py is a starting point for simple wxPython programs.&q ...