存到mysql的中文乱码_将用户输入的中文保存到数据库出现中文乱码问题
數據庫亂碼
瀏覽器出現的亂碼
出現亂碼問題,一定是編碼和解碼用的碼表不一致造成的。從用戶界面到數據庫顯示的cmd界面需要編碼和解碼的地方有:
瀏覽器使用的編碼,socket發送使用的編碼,tomcat連接器解析時使用的編碼,mysql存儲引擎所使用的編碼,jsp,
windows cmd界面所使用的編碼。
常出現的中文默認編碼: ? 瀏覽器默認gb2312, JSP
默認ISO-8859-1,socket 傳輸和數據庫 utf-8,
cmd默認GBK編碼,InnoDB默認使用latin1_swedish_ci
解決辦法只能一一的核對編碼方式,統一的使用一種編碼方式,推薦使用utf-8,變長編碼方式,有GBK和utf-16的優勢,方便網絡傳輸。?
?感覺最麻煩的是 mysql的編碼:
修改編碼可以從配置文件my.ini(window)?或my.cnf(linux)和命令行修改:
?my.ini:
?--在 [mysqld]
標簽下加上三行default-character-set = utf8character_set_server =
utf8lower_case_table_names = 1 //表名不區分大小寫(此與編碼無關)
--在 [mysql] 標簽下加上一行default-character-set = utf8
--在 [mysql.server]標簽下加上一行default-character-set = utf8
--在 [mysqld_safe]標簽下加上一行default-character-set = utf8
--在 [client]標簽下加上一行default-character-set = utf8
命令:
| character_set_client | utf8 || character_set_connection | utf8
|| character_set_database | utf8 || character_set_results | utf8 ||
character_set_server | utf8 || character_set_system | utf8 ||
character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有編碼不是utf8的,請檢查配置文件,也可使用mysql命令設置:set character_set_client =
utf8;set character_set_server = utf8;set character_set_connection =
utf8;set character_set_database = utf8;set character_set_results =
utf8;set collation_connection = utf8_general_ci;set
collation_database = utf8_general_ci;
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的存到mysql的中文乱码_将用户输入的中文保存到数据库出现中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: authpuppy mysql_auth
- 下一篇: mysql三台机群集_MySQL Clu