MyEclipse 中文乱码问题

 

问题一:程序源文件java code 乱码问题

package demo;

import java.sql.*;

import demo.NoticeBean;

public class JDBCTest {
public static void main(String args[]) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
String driverName = "org.gjt.mm.mysql.Driver";
Class.forName(driverName).newInstance();
String url = "jdbc:mysql://localhost:3306/JavaWeb?useUnicode=true&characterEncoding=gb2312";
connection = DriverManager.getConnection(url, "root", "root");
System.out.println("杩炴帴MySQL 5.0.18鎴愬姛!(椹卞姩3.1.12)");

statement = null;
resultSet = null;
String strSql = null;
NoticeBean bean = null;
String title = null;
String content = null;

// 瀵规暟鎹簱鐨勬彃鍏ユ搷浣�
try {
title = "鏍囬";
content = "鍐呭";

strSql = "INSERT INTO notice(title, content) VALUES('" + title
+ "','" + content + "')";
statement = connection.createStatement();
statement.executeUpdate(strSql);
System.out.println("鎻掑叆璇彞鎵ц鎴愬姛锛�" + strSql);
} catch (SQLException ex1) {
System.out.println("鎻掑叆澶辫触锛�");
}

// 瀵规暟鎹簱鐨勬煡璇㈡搷浣�
try {
strSql = "SELECT * FROM notice";
statement = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(strSql);

if (resultSet.next()) {
int id = resultSet.getInt("id");
title = resultSet.getString("title");
content = resultSet.getString("content");
if (resultSet.next()) {
bean = new NoticeBean(id, title, content);
}
System.out.println("notice琛ㄧ殑绗竴琛屾暟鎹槸锛�" + bean.getId() + " "
+ bean.getContent() + " " + bean.getTitle());
}
} catch (SQLException ex1) {
System.out.println("鏌ヨ澶辫触锛�");
}

// 瀵规暟鎹簱鐨勫垹闄ゆ搷浣�
try {
strSql = "DELETE FROM notice";
statement = connection.createStatement();
statement.executeUpdate(strSql);
System.out.println("notice琛ㄧ殑鎵�鏈夋暟鎹凡琚垹闄わ紒");
} catch (SQLException ex1) {
System.out.println("鍒犻櫎澶辫触锛�");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
resultSet = null;
}
if (statement != null) {
statement.close();
statement = null;
}
if (connection != null) {
connection.close();
connection = null;
}
} catch (SQLException ex) {
System.err.println(ex.getMessage());
}

}
}

 

 

解决方法如下:
Window -> preference, 左边 General -> Content Types, 然后在右边上面的框中打开Text, 选中Java Source File (你看到下面的框中有个*.java 就对了), 然后在下面的“Default edcodng”文本框中输入“UTF-8”, 点“Update”,然后重启myeclipse。

 

 

 

 

问题二:MyEclipse 工程里的数据库脚本文件 **.sql 乱码问题

解决方法如下:
选中 **.sql文件 -> 右击-> Properties ->Resource, 将Texty file encoding 那一项选择Other 输入“UTF-8”, 点“OK”,然后重启myeclipse。

 

在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用。本文将就这一问题产生的原因和解决办法进行一些探讨,供存在这方面问题的用户朋友参考。      1、原因分析   通过对用户反映情况的分析,发现字符集的设置不当是影响ORACLE数据库汉字显示的关键问题。那么字符集是怎么一会事呢?字符集是ORACLE 为适应不同语言文字显示而设定的。用于汉字显示的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1等。字符集不仅需在服务器端存在,而且客户端也必须有字符集注册。服务器端,字符集是在安装ORACLE时指定的,字符集登记信息存储在ORACLE数据库字典的V$ NLS_PARAMETERS表中;客户端,字符集分两种情况,一种情况是sql*net 2.0以下本,字符集是在windows的系统目录下的oracle.ini文件中登记的;另一种情况是sql*net 2.0以上(即32位)本,字符集是在windows的系统注册表中登记的。要在客户端正确显示ORACLE 数据库汉字信息,首先必须使服务器端的字符集与客户端的字符集一致;其次是加载到ORACLE数据库的数据字符集必须与服务器指定字符集一致。因此,把用户存在的问题归纳分类,产生汉字显示异常的原因大致有以下几种:   
Myeclipse导入一个项目,有中文乱码问题,解决方法如下: 一、将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8。 二、对java源文件编码设置为UTF-8. windows->Preferences->general->Context Types->Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。 一、设置新建常见类型文件的默认编码格式,也就是文件保存的格式。 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。 在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。 Window-->Preferences-->General -->content Types 在右侧窗口中展开每一个子项,依次输入编码格式,如“UTF-8”点击“update”就设置好了。 例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。 同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。 设置html默认编码格式为“UTF-8”,那么以后新建的html文件,都是以“UTF-8”的格式保存的。 以上设置了文件的保存编码格式,默认的打开方式(解码方式)会跟保存编码格式一样。 二、设置新建其他文件的默认编码格式,即文件保存格式。 在第一项设置中,只是设置了常用文件类型的编码格式。如果新建一个文件,没有后缀名,也就是不指名文件类型,那么MyEclipse无法判断该用何种编码格式保存,就用操作系统默认文件保存编码格式GBK进行保存。这个默认保存编码格式,可用如下方法修改: window-->preferences-->general-->workspace 在右侧 Text file encoding ->Other 选择UTF-8 三、单个文件查看编码格式(也就是打开文件用的编码格式)更改。 这个方法没有更改文件的编码格式,只是告诉MyEclipse用何种编码格式进行解码。 在要查看的文件上,如文件Test.java上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。 比如说,你在“一”里面设置*.java文件的编码格式为“UTF-8”,那么你打开后缀名为java的文件,默认就会以“UTF-8”格式进行解码。如果有人给了你一个编写好的java文件,但是他是用GBK编码保存的,那么你现在打开的时候,会显示乱码。在这个文件上右键-->Properties-->Resource在右侧Text file encoding ->Other ->GBK,就可以正常显示里面的内容了。 四、单个工程workspace默认编码设置。 在工程上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。 五、指定MyEclipse编写文件时页面内容数据编码格式(其实就是参数的默认设置),如html,或者jsp网页中提交表单前,用户输入的信息编码格式,配置文件xml中的参数编码格式等。 主要是通知浏览器或服务器,传输数据的编码格式。告诉浏览器用何种编码来解析html或者JSP文件。 window-->Preferences-->MyEclipse-->Files and Editors-->选择子项-->Encoding 例如:选择UTF-8, 新建jsp文件的时候,contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"就会自动生成,不用每次去手工更改了。 新建html文件的时候,http-equiv="Content-Type" content="text/html; charset=UTF-8" 新建xml文件的时候, 六、eclipse的控制台显示所使用的编码是继承了workspace设置的字符编码格式(也就是上面“二”中设置的编码格式)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值