1. 用sqlyog的時候,創建的表中的漢字為什麼顯示是問號
原因:
teacName欄位後面的字元錯誤。
解決方法:
1、點擊Objects查看這個表的詳細信息。
網路-SQLyog
2. mysql數據中文變成了問號
可以把mysql的字元編碼設置為UTF-8.
3. oracle到mysql中文變成問號,改了字元集還是沒用
這種問題可以嘗試將資料庫編碼改為utf-8。
取出的數據是『』問號『』,說明就是沒存進去,不是類似二進制值的形式,不能轉換為中文。
可以嘗試將資料庫編碼改為utf-8,修改表和欄位的字元集為utf-8表的字元集不能後期可視化方式修改。
4. 我從資料庫調出來的數據中文顯示問號,資料庫也是問號
先查看資料庫表的編碼。如果使用phpmyadmin,點擊「結構」,看錶格的「整理一列」。如gbk_chinese_ci、utf8_general_ci等
確認你程序的編碼,使用你所用的編輯器查看
如果兩者不一致,就會出現問號亂碼。兩種方法解決
修改資料庫編碼
讀、寫資料庫時將字元串轉碼
另外,注意你有沒有執行 set names 'utf8'
5. hibernate向mysql存儲中文數據一直是問號
1.第一步:檢查資料庫的字元集:
a>,用insert語句直接在工具(SQLyog Enterprise-通常的mysql工具,或許你用的其他的工具) 上添加一條記錄。
b>用select查詢剛剛添加的那條數據,如果裡面是亂碼,可以得出結論,資料庫的字元集設置有問題(至少現在可以得出這個結論)。
解決方法:
a> 如果你創建好了資料庫,即可用該方法來Alter(修改)資料庫的字元集
b>修改my.ini文件:
我mysql裝在d盤(看你的安裝盤符而定),打開my.ini,找到這句:
[mysql]
default-character-set=utf8 ,並修改為utf8,保存即可
以上步驟都做完後(注意:字元集要保持一致,一般用utf8),你再到數據表中添加一條有中文的數據,是不是已經ok了!!
2.第二步:在hibernate.cfg.xml:中修改連接串的字元集:
找到這句:
jdbc:mysql://127.0.0.1:3306/bbsforum
在後面加上設置字元集的參數,修改後即可:
<property name="connection.url">jdbc:mysql://localhost:3306/biyesheji?characterEncoding=UTF-8</property>
6. 如何解決Mysql插入中文變為全問號
1、檢查並修改mysql的my.ini的配置文件
default-character-set=utf8
2、建立資料庫是要指定字元集
create database mydb default character set utf8 collate utf8_general_ci;
3、建立數據表示也要指定字元集: