Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么pandas read\u sql\u查询用问号替换utf8字符_Mysql_Python 3.x_Pandas_Unicode_Sqlalchemy - Fatal编程技术网

Mysql 为什么pandas read\u sql\u查询用问号替换utf8字符

Mysql 为什么pandas read\u sql\u查询用问号替换utf8字符,mysql,python-3.x,pandas,unicode,sqlalchemy,Mysql,Python 3.x,Pandas,Unicode,Sqlalchemy,我正在使用sqlalchemy连接到MySQL数据库,并使用read_sql_查询将数据存储在数据框中。这是我的密码: import mysql.connector import pandas as pd import pymysql from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://' + username + ':' + password + '@' + server + ':' + p

我正在使用sqlalchemy连接到MySQL数据库,并使用read_sql_查询将数据存储在数据框中。这是我的密码:

import mysql.connector
import pandas as pd
import pymysql
from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://' + username + ':' + password + '@' + server + ':' + port + '/' + database)

df = pd.read_sql_query('''
  SELECT *
  FROM
    table
  LIMIT 10
''', engine)
我试图从MySQL表中获取数据的一列包含utf8(波斯语)字符,当我在本地计算机上使用代码时,结果很好,utf8字符可以存储在数据框中。但是当我试图在远程服务器上用精确的代码做同样的事情时,utf8字符被问号所取代

如何在服务器上也获得相同的结果

附言:

  • 我的电脑操作系统:Ubuntu 18.04
  • 服务器操作系统:Ubuntu 16.04

服务器上是否也有相同版本的python、pandas和sqlalchemy?@Dan不完全一样。本地:python 3.6.5、pandas 0.23.0、sqlalchemy 1.1.11-服务器:python 3.5.2、pandas 0.23.1、sqlalchemy 1.2.10是否值得尝试升级本地pandas和sqlalchemy以匹配:/此外,它是连接到同一个物理数据库还是镜像数据库,以便服务器连接到本地计算机的不同物理数据库?因为DB版本可能会有所不同。@dan我升级了库,代码在本地计算机上仍然可以正常工作。是的,本地和服务器都试图从同一个mysql服务器获取数据。您可以尝试在服务器上导出
pythioniocodeding=“utf8”
。只是猜测而已。