婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > linux下mysql亂碼問題的解決方案

linux下mysql亂碼問題的解決方案

熱門標簽:昆明電信400電話辦理 電銷機器人 行業 電銷機器人各個細節介紹 俄國地圖標注app 南昌高頻外呼系統哪家公司做的好 溫州瑞安400電話怎么申請 百度地圖標注后不顯示 電話機器人市場趨勢 淄博400電話申請

項目進行到和服務器交互,通過post訪問服務器端jsp,jsp訪問服務器端mysql數據庫,最終返回到客戶端的中文出現亂碼問題。

在整個流程中,出現錯誤的原因可能是三個:post未設置編碼或者編碼不相符合,jdbc出現問題,linux下mysql初始碼制問題。

在經過繁瑣的排查后,最終確定問題為mysql編碼問題。下文介紹如何解決linux下mysql中文亂碼問題。

首先進入mysql命令行模式,鍵入mysql -uroot -p 即可進入。隨后鍵入 SHOW VARIABLES LIKE 'character_set_%'; 

若顯示內容類似這樣:

+--------------------------+----------------------------------------------+
| Variable_name      | Value                    |
+--------------------------+----------------------------------------------+
| character_set_client   | utf8                     |
| character_set_connection | utf8                     |
| character_set_database  | utf8                     |
| character_set_filesystem | binary                    |
| character_set_results  | utf8                     |
| character_set_server   | utf8                     |
| character_set_system   | utf8                     |
| character_sets_dir    | /alidata/server/mysql-5.1.73/share/charsets/ |

則已修改正確,而mysql默認初始設置的都是latin1而非utf8。

一種解決方法是更改表格的屬性設置為utf8或者在創建表格的時候在最后加上DEFAULT CHARSET=utf8。設置表格為utf8碼。這樣的方法有可能失效。

最根本的解決方法是打開mysql配置文件修改。linux下mysql配置文件名為my.cnf,目錄為/etc/my.cnf,打開后按照以下操作:

--在 [mysqld] 標簽下加上三行
default-character-set = utf8
character_set_server = utf8
lower_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

上述標簽若未能全部找到也沒關系。再次打開mysql命令行,執行SHOW VARIABLES LIKE 'character_set_%';后若仍存在latin1,則在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;
  •     set collation_server = utf8_general_ci;

執行后再執行上述show 命令可得到目標結果。

設置完成后需要重新啟動mysql,重啟命令 /etc/init.d/mysqld restart  。

原數據表需要刪除后重建。

最終完成,大功告成。

小結

1、修改/etc/my.cnf文件,增加以下幾行:

[client]
# pipe=
# socket=MYSQL
port=3306
default-character-set=utf8
[mysql]
no-beep
# default-character-set=
default-character-set=utf8
# SERVER SECTION
# ----------------------------------------------------------------------
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
# server_type=3
[mysqld]
character_set_server=utf8

2、重啟mysql服務:

service mysql stop;
service mysql status;
service mysql start;
或者 service mysql restart;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • php寫入mysql中文亂碼的實例解決方法
  • MySQL字符集亂碼及解決方案分享
  • mysql中插入表數據中文亂碼問題的解決方法
  • JDBC連接mysql亂碼異常問題處理總結
  • JDBC連接mysql處理中文時亂碼解決辦法詳解
  • 詳解mysql數據庫中文亂碼問題
  • 解決mysql數據庫數據遷移達夢數據亂碼問題

標簽:洛陽 葫蘆島 吐魯番 海口 拉薩 甘南 嘉峪關 安徽

巨人網絡通訊聲明:本文標題《linux下mysql亂碼問題的解決方案》,本文關鍵詞  linux,下,mysql,亂碼,問,題的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux下mysql亂碼問題的解決方案》相關的同類信息!
  • 本頁收集關于linux下mysql亂碼問題的解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 囊谦县| 永胜县| 巴林右旗| 桦川县| 琼中| 蓬莱市| 内丘县| 全南县| 泰和县| 栾川县| 镇安县| 阳春市| 泸水县| 美姑县| 乐业县| 文登市| 海城市| 保德县| 昌都县| 卢龙县| 屯留县| 石嘴山市| 濮阳县| 仁化县| 报价| 溧阳市| 镇安县| 屯门区| 清远市| 崇义县| 宁安市| 伊春市| 壶关县| 长葛市| 桐乡市| 朝阳市| 玉门市| 平遥县| 双城市| 阳高县| 日照市|