案例数据库:Mysql
网上有很多解决该问题的思路,比如修改字符集,
set names gbk;
通常数据库这么设置之后再运行sql语句就成功了。这个问题好像是跟cmd命令行的配置有关。
如果是在后端语言中,拼接sql串然后执行碰到中文数据报错该问题,或者是未知字段赋值XXX。在此提供一种解决方案:
看看sql串是不是没加引号:
sql = “insert into 表名 values(name,age....)”
如果是上面的这种情况,请在value中加引号,如
sql = "insert into 表名 values('name','age'......)"
这样在后端语言中就可以用了,
这种情况发生在字符串格式化的地方比较多,如:
sql = insert into 表名 values('%s','%s') % ('小明','12')
这里的格式化就以python为例,其他不再赘述。
如果中文实在是插入不了,最后还提供一种解决方法:
就是将中文转换成数字,然后存入数据库,当要用的时候再解析出来
请参考:https://www.cnblogs.com/bigtreei/p/10954311.html
如python 的方法:
ord('单个中文汉字')