
# 执行Python脚本，报错"UnicodeEncodeError :'ascii' codec cannot encode characters in position 63-64 : ordinal not in range ( 128 )"怎么处理？
在DataArts Studio的python脚本中，设置参数json.dumps(json_data, ensure_ascii=False)时，执行报错UnicodeEncodeError :'ascii' codec cannot encode characters in position 63-64 : ordinal not in range ( 128 )，如下图所示。
图1报错信息   
![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000001401500908.png "点击放大")
#### 原因分析
DataArts Studio默认用的python2的解释器，python2默认的编码格式是ASCII编码，因ASCII编码不能编码汉字所以报错。因此需要将编码格式转化为"utf8"。
#### 解决方法
1. 用python3解释器，在主机上做一个软连接，如下图所示。
   图2主机上做软连接   
   ![](https://support.huaweicloud.com/dataartsstudio_faq/zh-cn_image_0000001401836860.png "点击放大") 
2. 在文件中设置标准编码方式。 # -\*- coding: utf-8 -\*-；或者设置主机的编码格式：在python安装目录的Lib\\site-packages文件夹下新建一个sitecustomize.py文件，在文件中写入如下内容。
   ```
   # encoding=utf8
   #import sys
   #reload(sys)
   #sys.setdefaultencoding('utf8')
   ```
   
3. 重启python，通过sys.getdefaultencoding()查看默认编码，这时为'utf8'。
 
