連線mysql出現亂碼 MySQL連線時的亂碼問題

2021-10-17 13:46:09 字數 1708 閱讀 4473

昨天用python連線mysql時遇到了乙個錯誤:

'latin-1' codec can't encode characters in position 36-37: ordinal not in ra......

調式乙個多鐘頭才發現原來是編碼的問題,

於是檢視mysql的編碼如下:

問題就出在這,以上三個設定編碼是gbk,比如用python連線資料庫,查詢操作時可能出現中文讀取亂碼,插入操作時會報錯:'latin-1' codec can't encode characters in position 36-37: ordinal not in ra......

這裡我們只需將編碼格式修改為utf8即可,

可直接在命令列中執行

但是採用這種方式修改編碼只能在當前有效,也就是說當你重新啟動mysql時就會失效,還是原來的gbk編碼。

如果想要utf8編碼永久有效,我們可以修改配置檔案my.ini

如果是預設安裝,該檔案位於mysql安裝目錄下:

如果沒有找到,就是在windows下隱藏了,可以直接在路徑欄裡輸入路徑,或者顯示隱藏檔案。

用記事本編輯my.ini

在[client]下新增

default-character-set=utf8

如果已存在只需將gbk修改為utf8

在[mysql]下新增

在[mysqld]下新增

儲存重啟mysql即可。

還有要提一下:

連線時可以這樣寫

database=pymysql.connect(host="localhost",user="root",password="root",

db="phonebook",port=3306,charset="utf8")

java連線mysql出現亂碼

插入資料時出現亂碼,大致修改點為 1.my.ini中 client 下面新增 default character set utf8 2.my.ini中 mysqld 下面新增 default character set utf8 3.jdbc的url使用 jdbc mysql localhost 3...

Mybatis 之連線Mysql出現亂碼

首先排查資料庫連線是否指定編碼。jdbc mysql 如果資料庫連線指定了編碼還是出現亂碼。檢視資料庫編碼。改變mysql資料庫的預設編碼 安裝mysql資料庫時的預設編碼是latin1,實際使用時可能要使用其他編碼。下文描述如何將預設編碼改為utf8 1 首先修改mysql的配置檔案 etc my...

解決php連線mysql出現亂碼辦法講解

用phpmyadmin新增mysql資料庫,然後用php運算元據庫出現亂碼的解決辦法 1 確認phpmyadmin用的mysql字符集為utf 8 unicode utf8 mysql連線校對為utf8 general ci,language為中文 chinese simplified 3 在php...