Mysql 6.0開始對4字節(jié)utf8提供支持,全面遵循RFC 3629規(guī)范。
見: http://dev.mysql.com/doc/refman/6.0/en/mysql-nutshell.html
很可惜,我沒有試驗成功,難道還只是"are expected to be added to MySQL 6.0: "?
而且,按目前的mysql開發(fā)日志中http://forge.mysql.com/worklog/task.php?id=1213寫到
估計6.0.4版本該功能正式提供。
從bug trace上看,5.2.6時mysql就已經(jīng)支持過4byte utf8,utf32 utf16,http://bugs.mysql.com/search.php?search_for=utf32&status%5B%5D=Active&severity=&limit=30&order_by=&cmd=display&phpver=&os=0&os_details=&bug_age=0&tags=&similar=&target=&defect_class=all&workaround_viability=all&impact=all&fix_risk=all&fix_effort=all
不過我不知道如何才能下載到5.2.6? 估計要從配置庫下載了自行編譯吧。另外,6.0.4alpha的源代碼配置庫中也已經(jīng)有了。
==================================
目前版本可以使用一個暫時的解決方法,就是5.1.3 connectors提供的useBlobToStoreUTF8OutsideBMP功能,功能倒是完整,但必須把字段類型設(shè)置為blob,性能自然很值得質(zhì)疑.
String url = "jdbc:mysql://localhost:3306/u?useUnicode=true&characterEncoding=utf8&useBlobToStoreUTF8OutsideBMP=true&utf8OutsideBmpIncludedColumnNamePattern=a";




connection = DriverManager.getConnection(url, username, password);
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("select * from t where a like '你%'");
while (rs.next()) {
// String name = new String(rs.getBytes("a"), "UTF-8");
String name = rs.getString("a");
System.out.println(name);
}
stmt.close();
connection.close
試過
insert t values(0xF0A38D98);
select hex(a) from t,數(shù)據(jù)存取均正常。
見: http://dev.mysql.com/doc/refman/6.0/en/mysql-nutshell.html
很可惜,我沒有試驗成功,難道還只是"are expected to be added to MySQL 6.0: "?
而且,按目前的mysql開發(fā)日志中http://forge.mysql.com/worklog/task.php?id=1213寫到
Version: | Server-6.0 |
---|---|
Status: | In-Documentation |
Priority: | Low |
Description: |
Pushed to 6.0.4 on Nov 27/2007. |
從bug trace上看,5.2.6時mysql就已經(jīng)支持過4byte utf8,utf32 utf16,http://bugs.mysql.com/search.php?search_for=utf32&status%5B%5D=Active&severity=&limit=30&order_by=&cmd=display&phpver=&os=0&os_details=&bug_age=0&tags=&similar=&target=&defect_class=all&workaround_viability=all&impact=all&fix_risk=all&fix_effort=all
不過我不知道如何才能下載到5.2.6? 估計要從配置庫下載了自行編譯吧。另外,6.0.4alpha的源代碼配置庫中也已經(jīng)有了。
==================================
目前版本可以使用一個暫時的解決方法,就是5.1.3 connectors提供的useBlobToStoreUTF8OutsideBMP功能,功能倒是完整,但必須把字段類型設(shè)置為blob,性能自然很值得質(zhì)疑.
















insert t values(0xF0A38D98);
select hex(a) from t,數(shù)據(jù)存取均正常。