matlab-JDBC操作MYSQL数据库中文乱码解决
生活随笔
收集整理的這篇文章主要介紹了
matlab-JDBC操作MYSQL数据库中文乱码解决
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
JDBC連接MYSQL數(shù)據(jù)庫,使用MATLAB讀寫中文數(shù)據(jù)出現(xiàn)亂碼,是由于MYSQL本身的配置問題
試驗(yàn)數(shù)據(jù)庫的編碼為UTF8,操作系統(tǒng)為中文WINDOWS,即操作系統(tǒng)的編碼是GBK,如果不對(duì)MYSQL的字符編碼進(jìn)行配置,將產(chǎn)生亂碼。
配置方法為:
修改MySQL文件夾下的my.ini文件。如下:
[mysql]default-character-set=utf8[mysqld] default-character-set=utf8或者將下面的這段## UTF 8 Settings #init-connect=\'SET NAMES utf8\' #collation_server=utf8_unicode_ci #character_set_server=utf8 #skip-character-set-client-handshake #character_sets-dir="E:/xampp/mysql/share/charsets"的#character_set_server=utf8的注釋符“#”去掉## UTF 8 Settings #init-connect=\'SET NAMES utf8\' #collation_server=utf8_unicode_ci character_set_server=utf8 #skip-character-set-client-handshake #character_sets-dir="E:/xampp/mysql/share/charsets"重新啟動(dòng)MYSQL,中文亂碼消失,下面是驗(yàn)證過程:1、連接數(shù)據(jù)庫>> myconn=database('mystudent','root','','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/mystudent')myconn =Instance: 'mystudent'UserName: 'root'Driver: 'com.mysql.jdbc.Driver'URL: 'jdbc:mysql://localhost:3306/mystudent'Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]Message: []Handle: [1x1 com.mysql.jdbc.JDBC4Connection]TimeOut: 0AutoCommit: 'on'Type: 'Database Object'2、建立游標(biāo)>> mycurs=exec(myconn,'select * from myst')mycurs =Attributes: []Data: 0DatabaseObject: [1x1 database]RowLimit: 0SQLQuery: 'select * from myst'Message: []Type: 'Database Cursor Object'ResultSet: [1x1 com.mysql.jdbc.JDBC4ResultSet]Cursor: [1x1 com.mathworks.toolbox.database.sqlExec]Statement: [1x1 com.mysql.jdbc.StatementImpl]Fetch: 0>> a=fetch(mycurs)a =Attributes: []Data: {2x2 cell}DatabaseObject: [1x1 database]RowLimit: 0SQLQuery: 'select * from myst'Message: []Type: 'Database Cursor Object'ResultSet: [1x1 com.mysql.jdbc.JDBC4ResultSet]Cursor: [1x1 com.mathworks.toolbox.database.sqlExec]Statement: [1x1 com.mysql.jdbc.StatementImpl]Fetch: [1x1 com.mathworks.toolbox.database.fetchTheData]3、讀取數(shù)據(jù),可以看到中文正常>> a.Dataans ='上大' [1]'追求' [0]4、寫數(shù)據(jù),查看中文是否正常>> colnames={'name','確定否'}colnames ='name' '確定否'>> insert(myconn,'myst',colnames,{'張三',logical(1)}) >>重新讀取數(shù)據(jù)>> mycurs=exec(myconn,'select * from myst')mycurs =Attributes: []Data: 0DatabaseObject: [1x1 database]RowLimit: 0SQLQuery: 'select * from myst'Message: []Type: 'Database Cursor Object'ResultSet: [1x1 com.mysql.jdbc.JDBC4ResultSet]Cursor: [1x1 com.mathworks.toolbox.database.sqlExec]Statement: [1x1 com.mysql.jdbc.StatementImpl]Fetch: 0>> a=fetch(mycurs)a =Attributes: []Data: {3x2 cell}DatabaseObject: [1x1 database]RowLimit: 0SQLQuery: 'select * from myst'Message: []Type: 'Database Cursor Object'ResultSet: [1x1 com.mysql.jdbc.JDBC4ResultSet]Cursor: [1x1 com.mathworks.toolbox.database.sqlExec]Statement: [1x1 com.mysql.jdbc.StatementImpl]Fetch: [1x1 com.mathworks.toolbox.database.fetchTheData]>>>> a.Dataans ='上大' [1]'追求' [0]'張三' [1]>>總結(jié)
以上是生活随笔為你收集整理的matlab-JDBC操作MYSQL数据库中文乱码解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb.net机器学习-手写和本机数字识别
- 下一篇: MySQL锁机制,行锁jingran加在