Heim > Datenbank > MySQL-Tutorial > Hauptteil

关于mysql数据库“Incorrectstringvalue:'/xFF/xFE/_MySQL

WBOY
Freigeben: 2016-06-01 13:18:31
Original
950 Leute haben es durchsucht

bitsCN.com

或许很多人能和我一样在使用mysql数据库时会遇到这样的问题,无法显示中文字符,而且无法无法被加载进数据库。

这就是程序员都会遇到的字符编码问题,接下来以JAVA链接数据库为列说明。

package fang.Demo;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import javax.swing.JPopupMenu.Separator;public class ConnectDemo04 {	// 定义MySQL的数据库驱动程序	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";	// 定义MySQL数据库的连接地址	public static final String DBURL = "jdbc:mysql://localhost:3306/demo2";	// MySQL数据库的连接用户名	public static final String DBUSER = "root";	// MySQL数据库的连接密码	public static final String DBPASS = "";	public static void main(String args[]) throws Exception { // 所有的异常抛出		Connection conn = null; // 数据库连接		PreparedStatement stmt = null; // 数据库操作		ResultSet res = null;		Class.forName(DBDRIVER); // 加载驱动程序		String name = "方萨安" ;	// 表示姓名		String sql = "INSERT INTO userclob(name,note) VALUES (?,?) " ;		Class.forName(DBDRIVER) ;	// 加载驱动程序		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;		stmt = conn.prepareStatement(sql) ;	// 创建PreapredStatement对象		File f = new File("d:" + File.separator + "test.txt") ;		InputStream input = null ;		input = new FileInputStream(f) ;	// 通过输入流读取文件		stmt.setString(1,name) ;		stmt.setAsciiStream(2,input,(int)f.length()) ;		stmt.executeUpdate() ;		conn.close() ;			// 数据库关闭	}};
Nach dem Login kopieren

这个java程序读取的是D盘目录下的test.txt文件

/

所报错误:

/

遇到这种问题可以看到错误提示是不正确的数据类型(大概是这个样子),然后我试了试数字和英文字母均可成运行,并写入数据库库

/

数据库数据图

/

由此可见,此问题必定是数据字符编码不正确引起的,那么如何解决呢?

从我建的数据表易知,他们都是utf8类型的国际化通用数据类型(推荐)

可是记事本的编码呢?它是什么类型?

但是……

/

但是我们却是可以设置的打开txt文件点击另存为—>设置编码。

/

设置为数据编码utf8

再次运行java程序

你会发现错误消失了,打开数据库文件你会发现数据已经成功写入数据表。

/

当然,网站报错的原理和这是一样的都是,数据表字符编码设置的问题,大家认真设置下就OK了

设置详见另一篇博文。

bitsCN.com
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage