Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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
Python 3.x PyMySQL和Pandas返回日语字符的乱码列_Python 3.x_Pandas_Paramiko_Pymysql - Fatal编程技术网

Python 3.x PyMySQL和Pandas返回日语字符的乱码列

Python 3.x PyMySQL和Pandas返回日语字符的乱码列,python-3.x,pandas,paramiko,pymysql,Python 3.x,Pandas,Paramiko,Pymysql,我正在尝试从数据库中读取一些表。当数据库只包含数字和英文字符时,我得到的数据是OK的,但是数据库中的其他表包含一些日文字符。当我下载这些表时,带有日文字符的列会显示所有问号:????? 我的代码: import pymysql from sshtunnel import SSHTunnelForwarder with SSHTunnelForwarder( (ssh_host, ssh_port), ssh_username=ssh_user,

我正在尝试从数据库中读取一些表。当数据库只包含数字和英文字符时,我得到的数据是OK的,但是数据库中的其他表包含一些日文字符。当我下载这些表时,带有日文字符的列会显示所有问号:
?????

我的代码:

import pymysql
from sshtunnel import SSHTunnelForwarder   
with SSHTunnelForwarder(
        (ssh_host, ssh_port),
        ssh_username=ssh_user,
        ssh_pkey=mypkey,
        remote_bind_address=(sql_ip, sql_port)) as tunnel:
        conn = pymysql.connect(host='127.0.0.1', user=sql_username,
                passwd=sql_password, 
                port=tunnel.local_bind_port,db=db,unicode_results=True)

        #data = pd.read_sql_query(query, conn)
        data = pd.read_sql_query(query_2, conn,)

我尝试了
pd.set\u选项('display.unicode.east\u asian\u width',True)
,这对我以前很有用,但在这里似乎没有什么帮助。

我实际上解决了我的问题,对于那些感兴趣的人,下面是答案: 我只需要将
charset='ujis'
添加到我的代码中。现在它不再是乱码了

conn = pymysql.connect(host='127.0.0.1', user=sql_username,
                passwd=sql_password, 
                port=tunnel.local_bind_port,db=db,charset='uji')