问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python mysql入库 中文出现乱码 怎么解决 求助

发布网友 发布时间:2022-04-30 12:00

我来回答

3个回答

懂视网 时间:2022-04-30 16:21

。 ubuntu版本是14.04使用apt-get命令安装mysql
sudo apt-get install mysql-server

  好了之后使用mysql -u root -p检查是否能正常启动

 

mysql -u root -p

  

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 37
Server version: 5.5.35-1ubuntu1 (Ubuntu)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.

mysql> 

正常情况下会显示这样。

之前遇到一种情况是向mysql中存入的数据中含有中文是会乱码,郁闷了很久。

在mysql中 使用  show variable like "character%"命令查看字符格式

 

mysql> show variables like "character%"
 -> ;
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

  我的这个是改过之后的,未修改情况下,character_set_database的编码方式并不是utf8

要修改编码方式就要修改my.cnf文件。

 

 sudo gedit /etc/mysql/my.cnf

 其中在[client]下加  default-character-set=utf8

 在[mysqld]下添加 character-set-server=utf8 collation-server=utf8_general_ci

 之后保存退出

然后使用 

sudo service mysql restart

  重启mysql。

之后Mysql就能正常存储中文了。

##############################################################################################

 

之前用 的是python2.7,调用mysql的话可以使用MySQLdb,后来python升到3.5之后,发现MySQLdb不能用,遂google之,找到解决方法。

有一个pymysql可以供python调用mysql

安装也很简单。

首先 https://pypi.python.org/pypi/PyMySQL3 中下载安装包

下载好之后解压缩,进到包的文件夹目录,然后安装

 

python setup.py install

安装好之后进到python交互模式

 

python
Python 3.5.0 (default, Sep 17 2015, 00:00:00) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> 

 这样就算成功了。

 

ubuntu中mysql中文乱码及用python3.x调用

标签:

热心网友 时间:2022-04-30 13:29

楼主,这个问题一般是由于数据库需要的编码格式导致的,你先确认你的数据库是采用什么编码的,然后在入库之前进行相应的转换即可,这个问题我遇到多次,我相信我们遇到的是同一个问题。

我举一个,你参考一下。

例如我从UTF-8编码的文件中获取到一个str,想要存到windows的txt里面,那我在存入之前,应该进行如下的转换:

msg_gbk=msg.decode('UTF-8').encode('GBK')

这个时候把msg_gbk存进txt里面,就不会产生乱码了。


提供一种思路,希望能帮到你。

热心网友 时间:2022-04-30 14:47

你那个 mysql 版本多少啊?

我用 mysql 4.x 的时候, 设置好 utf8 以后, 是 C# 程序可以 正常 读写 汉字信息。
但是用 mysql 客户端看到的是乱码

后来用到一个 mysql-5.6.13-winx64 版本的时候, 倒是可以 C# 程序可以 正常 读写 汉字信息。
mysql 客户端看到的也正常了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
会声会影如何裁剪视频画面范围 怎么正确喝酒的方法 真正好的饮用方式 日本清酒獭祭正确喝法 深圳有几家酒店可以真正意义上说是五星级? 深圳富苑皇冠假日套房式酒店酒店周边 深圳富苑皇冠假日套房酒店酒店简介 深圳富苑皇冠假日套房式酒店酒店介绍 金福人生多倍保重疾险怎么样?值不值得买? wpsword文档怎么删除空白页面 wPS删除空白页方法wps怎么删除多余空白页最有效方法 谁能给个FC洛克人无限能量1到6全集? FC的洛克人、奥特曼的游戏到底有多少,把名称说出来 FC洛克人元祖里的弹药夹是干什么的 FC上洛克人到底有几代 请问FC版洛克人6的选关密码都是多少?如题 谢谢了 谁帮我把洛克人系列所有有剧情的游戏排列一下 就是 应该玩的顺序 谢谢、、 我的意思就是 第一个玩哪个游戏 FC的洛克人金手指怎么用? FC洛克人6的机器狗在哪关? FC 洛克人6这里怎么过啊? fc洛克人6界面是人头和E有什么区别 问一下FC洛克人6打完一个BOSS之后留下了一个小洛克人的脸是什么意思 FC洛克人6 FC洛克人哪一代最简单,哪一代最难? 求FC洛克人6所有隐藏物品 fc版洛克人6火人那关有个平台跳不上去,有3个铁乌龟,上方是大血,下方是油池 Fc洛克人6密码 fc洛克人6代的在E罐和生命中间的道具(如下图,打红圈的道具)有什么用? fc洛克人6隐藏物品在哪? FC洛克人6秘籍 身高1.75米,170斤的体重穿什么鞋跑步好? 征信报告说未结清未销毁的账户怎么查? 怎么查看自己名下的信用卡,个人征信报告只有账户数没有详细的卡号。 信用卡问题,未结清/未销户账户数1 执子之手,共你一世风霜;吻子之眸,赠你一世情深。是什么意思 赠你一世深情,共你一世风霜什么意思 赠你一世情深有多烂? 女生在本子写赠你一世情深什么意思? 执子之手,共你一世风霜 吻子之眸,赠你一世深情 是什么意思我很矛盾 《赠你一世深情》最新txt全集下载 赠你一世情深实体书叫什么? 执子之手,共你一世风霜; 吻子之眸,赠你一世深情。 我, 牵尔玉手, 收你此生所有; 我, 抚尔秀 赠你一世情深元宵和慕里什么关系? 循环圈海量版绿巨人强吗 抖音直播苹果8p会卡吗 赠你一世情深为什么宣传力度这么大? 谁,执我之手,敛我半世癫狂;的下一句是什么? 谁能告诉我这首诗全诗或作者或诗名吗。 我只是记得开头是,谁执我之手…… 孕妇在孕期时有哪些东西不能吃? 赠你一世情深聿天使中小叔子是不是喜欢小溪? 怀孕时不能吃什么东西