You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark在Jupyter Notebook中无法正常显示波兰语字符求助

解决PySpark在Jupyter Notebook中波兰语字符显示为问号的问题

修复步骤

1. 先搞定终端编码

Jupyter的输出编码依赖启动它的终端环境,哪怕Python已经设了UTF-8,终端编码不对照样乱码:

  • Windows命令行里先执行 chcp 65001 切换到UTF-8编码,再启动Jupyter
  • Linux/macOS终端里先执行 export LC_ALL=en_US.UTF-8 和 export LANG=en_US.UTF-8,再启动Jupyter

2. 给Spark加编码配置

初始化SparkSession时,强制指定Java端的编码参数,避免Spark输出时转码出错:

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("PolishCharsFix") \
    .config("spark.driver.extraJavaOptions", "-Dfile.encoding=UTF-8") \
    .config("spark.executor.extraJavaOptions", "-Dfile.encoding=UTF-8") \
    .getOrCreate()

顺便给Python再加层保险(Python3.6部分环境可能需要):

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

3. 修改Jupyter内核配置

找到Python3内核的配置文件kernel.json(路径一般是~/.local/share/jupyter/kernels/python3/,系统级路径可能在/usr/share/jupyter/kernels/python3/),编辑env字段添加编码相关变量:

"env": {
    "LC_ALL": "en_US.UTF-8",
    "LANG": "en_US.UTF-8",
    "PYTHONIOENCODING": "UTF-8"
}

保存后重启Jupyter生效。

4. 临时应急方案

如果上面的方法暂时没生效,可以在打印时强制编码转换:

print(f"Średnia ilość wynosi: {my_avg}".encode('utf-8').decode('utf-8'))

内容的提问来源于stack exchange,提问作者Katy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:07:54