中文 数据库 乱码 excel中导入数据到mysql 问题

数据库编码  表编码  ide编码 必须一致,即可解决问题

场景:把这些数据导入数据库,并且得到城市名称拼音的首字母

从excel中导入数据到mysql,使用了jxl这个库

使用了pinyin4这个库,但是发现有bug

import java.io.UnsupportedEncodingException;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Db {
static Connection connection = null;
static Statement statement = null;

public static Connection getCon() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/my?characterEncoding=UTF-8";
String uname = "root";
String pwd = "root";
connection = DriverManager.getConnection(url, uname, pwd);
statement = connection.createStatement();
} catch (ClassNotFoundException e) {
return null;
} catch (SQLException e) {
return null;
}
return connection;
}

public static void cloRes(Connection connection, Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
statement = null;
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
connection = null;
}

}

public void add(String cityName, String cityPin) {
String sql =
"insert city (cityName,cityPin) values (‘" + cityName + "‘,‘" + cityPin + "‘)";
System.out.println(sql);
try {

statement.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import net.sourceforge.pinyin4j.PinyinHelper;

public class Input {
public static void main(String[] args) {
Db.getCon();

--------------------------------------------------------------------------------------------------------------------------------------------

测试了下面代码    输出sing   估计这个库有问题

String[] s2 = PinyinHelper.toTongyongPinyinStringArray("兴城".charAt(0));
System.out.println(s2[0]);

-------------------------------------------------------------------------------------------------------------------------------------------
File file = new File("city.xls");
Workbook workbook;
List<String> cities = new ArrayList<String>();
char[] cityPin = new char[700];
try {
workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
Cell[] cell = sheet.getColumn(2);
for (int i = 0; i < cell.length; i++) {
cities.add(cell[i].getContents());
}
for (int i = 0; i < cities.size(); i++) {
char cs = cities.get(i).charAt(0);
String[] s = PinyinHelper.toTongyongPinyinStringArray(cs);
cityPin[i] = s[0].charAt(0);

System.out.println(cityPin[i]);
}

} catch (BiffException e) {
e.printStackTrace();

} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < cities.size(); i++) {

new Db().add(cities.get(i),String.valueOf(cityPin[i]));
}

Db.cloRes( Db.connection,Db.statement);
}

}

时间: 2024-08-27 18:18:58

中文 数据库 乱码 excel中导入数据到mysql 问题的相关文章

国产达梦数据库-通过Excel文件导入数据

考虑到完整性,我这里就啰嗦一点,从新建达梦数据库的数据库,再新建表.表结构开始. 一.新建数据库:模式 --> 右键 --> 新建模式:这里的新建模式就是MySQL中的新建库 二.弹出如下新建模式对话框: 三.输入模式名,并选择模式拥有者,操作如下: 四.再点两次确定按钮,即可完成新建模式,完成后,列表会显示刚新建的模式OASYS,如下图: 五.既然现在有了模式(数据库),就可以新建具体要使用的表了,操作如下: 六.打开新建表对话框,填写输入具体表信息.字段信息,如下图: 七.点击确定以后,结

MySQL mysqlimport 从txt文件中导入数据到mysql数据库

mysqlimport: 我说这个我们还是先从世界观方法论的高度来理解一下便有更加准确的把握.数据导入不外呼有两个部分 第一部分:目标对象--我们要把数据导给谁(mysqlimport 的目标对象自然就是mysql数据库中的表了哦) 第二部分:数据源  -- 我们的数据的来源(下面的例子只来源是一个文本文件) 也就是说我给可以把mysqlimport 命令初步的写成 mysqlimport -uusername -p databasename tablename  filepath databa

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

Excel中的数据导入到SqlServer数据库中

从SqlServer2008才开始支持导出表结构的和表中的数据,而SqlServer2008以前的数据库只支持导出表结构,有些时候我们可能需要把2008以前的数据库中的数据导出来,这个时候我们可以使用折中的方法,先把数据库导出到Excel中,再把Excel中的数据导入到数据库中(如果两台数据库服务器之间可以互通的话,可以直接建立远程链接进行数据传输,不用如此麻烦), 将SqlServer中的数据导出到Excel中比较简单,这里不再贴图,下面是把Excel中的数据导入到SqlServer中步骤:

asp.net 从Excel表导入数据到数据库中

http://www.cnblogs.com/hfzsjz/archive/2010/12/31/1922901.html http://hi.baidu.com/ctguyg/item/ebc857e90e436ae1fb42ba01 1 <form action="" method="post" runat ="server"> 2 <div> 3 <span>请选择文件:</span><

如何把Excel中的数据导入到数据库

NPOI: using NPOI.HSSF.UserModel; using NPOI.SS.Formula.Eval; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Data; using System.IO; namespace ZZAS.HNYZ.GPSInstallManage.Common { public class ExcelHelper : IDisposable {

使用Python将Excel中的数据导入到MySQL

使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubuntu自带.使用前请使用下面的命令确保是2.7.x版本: python --version xlrd : 这是一个扩Python包,可以使用pip包管理工具安装:pip install xlrd MySQLdb 为MySQL 的Python驱动接口包,可以到http://sourceforge.net/

Excel中导入到oracle使用merge into 差异性更新数据库

merge into temp1 ausing (select ID         from (Select ID                 from temp1                where ID = 'SYSTEM00000100000010846'               union all               select null ID from dual)        where rownum = 1) bOn (b.ID = a.ID)when m

SQL大圣之路笔记——把Excel中的数据通过Access导入到DataBase中

把Excel中的数据通过Access导入到DataBase中 1.打开Access ,点击“EXTERNAL DATA",选择上传”excel",选中需要导入的excel,点击ok. 2.选择excel中需要上传数据的sheet,点击”next",再点击“next”,选择列明,更改 Data Type (Short Text类型导入后会成为nvarchar);点击“next”,再点击“next” ,设定导入DB之后的表名,点击“finish”. 3.右击表名,点击“Expor