当前位置:编程学习 > JAVA >>

实用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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,