首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

SQLAlchemy 連接 MySQL 出現編碼警告:統一字符集為 UTF-8 解決

     編輯:程式設計疑難解答

警告信息

Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 479

原因

MySQL 服務端、客戶端、連接字符集不一致。Flask/Django 默認 UTF-8,但數據庫可能為 latin1 或 gbk。

解決方案

  1. 修改 MySQL 配置 /etc/my.cnf:
    [client]
    default-character-set=utf8
    [mysqld]
    default-character-set=utf8
    init_connect='SET NAMES utf8'
    重啟 mysqld。
  2. 連接串指定字符集:
    DB_URI = 'mysql://user:pass@host/db?charset=utf8'
  3. 表/列字符集:ALTER TABLE t CONVERT TO CHARACTER SET utf8mb4;(推薦 utf8mb4 支持 Emoji)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved