原因:
1. 資料庫/表所使用的字符集不支援中文;
2. 從客戶端發往伺服器的sql語句編碼不正確;
…解決方法:
1. 建立資料庫時指定資料庫的字符集:
create database db_name default character set utf8;
由於資料庫中表的字符集預設情況下採用資料庫的字符集,所以在建立表時不需要指定default character set;
2. 在jdbc的connection url後加上?useunicode=true&characterencoding=utf-8,url= 「jdbc:mysql:
3. 中文亂碼問題當然可以通過修改mysql的配置解決:
修改my.cnf(/etc/my.cnf)中預設的編碼選項[mysqld]下新增default-charcter-set=utf8; mysql 5.5以上版本換成了character-set-server=utf8;
其它:
1. 盡量使用utf-8字符集(網頁,資料庫…)
2. 命令列下插入漢字時:
mysql> set names utf8;
mysql> insert into test (name) values(『張三』);
qt 中文亂碼 Qt中文亂碼問題
接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...
Mysql JDBC配置LoadBalance協議
mysql jdbc長期以來提供了有效的手段在mysql集群 多主replication部署的情況下分發讀寫負載,自從mysql jdbc 5.1.3以來,你可以在不停用服務的情況下動態配置loadbalance連線,程序中的事務不丟失,例項不會發生異常。loadbalance的配置協議如下 jdb...
MySQL JDBC物件解釋
drivermanager.registerdriver new com.mysql.cj.jdbc.driver class.forname com.mysql.cj.jdbc.driver 固定寫法,載入驅動 connection connection drivermanager.getconn...