zoukankan      html  css  js  c++  java
  • 在django做QQ登录中:Error 1366: Incorrect string value: 'xF0x9Fx91xBDxF0x9F...' for column 'content'

    在做第三方登录时,

    我一个QQ昵称带表情包,三方登录就报 (1366, "Incorrect string value: '\xF0\x9F\x91\x89 \xE5...' for column 'first_name' at row 1"),

    另一个QQ存汉字,就能正常登录

    可能的原因:

    • 第一:检查以下你的编辑器的编码是否设置为UTF-8;这是最容易忽略的原因之一。
    • 第二:检查以下你数据库的varchar/char等相关字段是否已经设置为utf8

    1、如果用的是navicat,需要检查两个地方;

     

    2、是否都已经设置:

    实在不行就将utf8改成utf8mb4

    Google说MySQL的utf8不是真正的UTF8,只能包含三个字节的unicode,4个字节就会报错。要解决此总是需要使用utf8mb4 这个编码。可是我把表和column的CHARSET都改成utf8mb4 后仍无法存入Emoji字符。

    3、那就要修改Django数据库配置的字符集

    所以,建议大家以后在设计表时 default character set 最好设置为utf8mb4,因为现在Emoji字符已经很流行了,用户难免会在浏览器里输入Emoji字符。

  • 相关阅读:
    Python标准模块--logging
    Spark中决策树源码分析
    常见的相似或相异程度计算方法
    mpi4py实践
    集成学习
    决策树
    git使用
    Ubuntu 14.04 64bit 安装tensorflow(GPU版本)
    KNN算法
    一致性哈希算法原理及其在分布式系统中的应用
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/12666457.html
Copyright © 2011-2022 走看看