实用jdbc将文本文件写入到mysql乱码问题
文本文件是utf8编码;使用以下方法以行读入文本文件:
FileInputStream fis=new FileInputStream(filename); //获取字节流
InputStreamReader isr=new InputStreamReader(fis,"UTF-8"); //按照utf-8编码方式转化成字符流
reader = new BufferedReader(isr); //获取文本文件并进行缓冲
使用utf8连接数据库
String url = "jdbc:mysql://localhost:3306/library";//?characterEncoding=utf8";
java.util.Properties prop = new java.util.Properties();
String username = "root";
String password = "root";
prop.put( "charSet" , "utf8" );
prop.put( "user" , username);
prop.put( "password" , password);
使用show variables like '%char%' 显示结果:
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\M
但是数据库中文都显示为?????? --------------------编程问答-------------------- 先看下 文本的编码~ 然后读取输入流的时候验证下 编码是不是UTF8~~保证这层编码没乱 然后再是存入数据库~~ --------------------编程问答-------------------- 怎么看输入流编码?下面这句话应该已经保证了吧。
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");
我的数据库的编码显示是不是对的?
谢谢!
补充:Java , Eclipse