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 ...
随机推荐
- iOS LaunchImage 各尺寸
- C语言中的强符号与弱符号
转自:http://blog.csdn.net/astrotycoon/article/details/8008629 一.概述 在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号,未初 ...
- [C++11][算法][穷举]输出背包问题的所有可满足解
关于背包问题的题目,前人之述备矣,这里只讨论实现 输入: n ca w_1 v_1 w_2 v_2 ... w_n v_n 其中,n是物品总数,ca是背包大小,w_n是第n个物品的重量,v_n是第n个 ...
- OpenCv全景图像拼接
http://my.oschina.net/xiaot99/blog/226589 http://blog.csdn.net/chenjiazhou12/article/details/2282548 ...
- 设置R启动时自动加载常用的包或函数
在我前面的文章(http://www.cnblogs.com/homewch/p/5749850.html)中有提到R可以自定义启动环境,需要修改R安装文件中的ect文件夹下的配置文件Rprofile ...
- Leetcode N-Queens II
Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...
- Android入门(十):界面的布局方式及其实际应用
关于Android界面布局,网上已经有了很多非常不错的学习资料,在这里我也不班门弄斧了,推荐两篇我认为写的不错的教程,然后再重点讲一下几种布局方式的实际应用. 教程链接:①http://www.cnb ...
- js 类型转换学习
类型转换分为显示转换和隐式转换 参考http://www.cnblogs.com/mizzle/archive/2011/08/12/2135885.html 先事件显示的 通过手动进行类型转换,Ja ...
- Web用户的身份验证及WebApi权限验证流程的设计和实现
5. WebApi 服务端代码示例 5.1 控制器基类ApiControllerBase [csharp] view plaincopy /// /// Controller的基类,用于实现适合业 ...
- 问题(the question)
I want to know: 1. 软件开发最主要的目的 是什么? 2. 软件开发是否同样需要模,和架构? 3.软件开发与其他程序的需求分析是否相似,有什么不同之处? 4.软件开发最常用的计算机语言 ...