docker 里调试不支持中文路径解决

docker 里调试不支持中文路径解决
docker里系统默认编码为 ANSI_X3.4-1968 , 一遇到中文就会报错, 需要将其改为UTF-8

root@a0d222e3c533:# python cv2_imread.py 
		Traceback (most recent call last):
		  File "cv2_imread.py", line 11, in <module>
			image_pil = Image.open(filename).convert("RGB")
		  File "/usr/local/lib/python3.6/dist-packages/PIL/Image.py", line 2843, in open
			fp = builtins.open(filename, "rb")
		UnicodeEncodeError: 'ascii' codec can't encode characters in position 36-37: ordinal not in range(128)

解决:

//查看当前系统编码
root@a0d222e3c533:# locale
		LANG=
		LANGUAGE=
		LC_CTYPE="POSIX"
		LC_NUMERIC="POSIX"
		LC_TIME="POSIX"
		LC_COLLATE="POSIX"
		LC_MONETARY="POSIX"
		LC_MESSAGES="POSIX"
		LC_PAPER="POSIX"
		LC_NAME="POSIX"
		LC_ADDRESS="POSIX"
		LC_TELEPHONE="POSIX"
		LC_MEASUREMENT="POSIX"
		LC_IDENTIFICATION="POSIX"
		LC_ALL=

设置中文 export LC_ALL=zh_CN.GBK
warning信息不用管

root@a0d222e3c533:# export LC_ALL=zh_CN.GBK
		bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.GBK): No such file or directory
root@a0d222e3c533:# locale
		locale: Cannot set LC_CTYPE to default locale: No such file or directory
		locale: Cannot set LC_MESSAGES to default locale: No such file or directory
		locale: Cannot set LC_ALL to default locale: No such file or directory
		LANG=
		LANGUAGE=
		LC_CTYPE="zh_CN.GBK"
		LC_NUMERIC="zh_CN.GBK"
		LC_TIME="zh_CN.GBK"
		LC_COLLATE="zh_CN.GBK"
		LC_MONETARY="zh_CN.GBK"
		LC_MESSAGES="zh_CN.GBK"
		LC_PAPER="zh_CN.GBK"
		LC_NAME="zh_CN.GBK"
		LC_ADDRESS="zh_CN.GBK"
		LC_TELEPHONE="zh_CN.GBK"
		LC_MEASUREMENT="zh_CN.GBK"
		LC_IDENTIFICATION="zh_CN.GBK"
		LC_ALL=zh_CN.GBK

//查看当前系统默认编码
root@a0d222e3c533:# locale charmap
		locale: Cannot set LC_CTYPE to default locale: No such file or directory
		locale: Cannot set LC_MESSAGES to default locale: No such file or directory
		locale: Cannot set LC_ALL to default locale: No such file or directory
		ANSI_X3.4-1968  //当前编码格式为ANSI_X3.4-1968 , 一旦遇到中文便会报错

//安装中文包:apt-get install language-pack-zh-hans
root@a0d222e3c533:# apt-get install language-pack-zh-hans
root@a0d222e3c533:# locale -a
		locale: Cannot set LC_CTYPE to default locale: No such file or directory
		locale: Cannot set LC_MESSAGES to default locale: No such file or directory
		locale: Cannot set LC_COLLATE to default locale: No such file or directory
		C
		C.UTF-8
		POSIX
		zh_CN.utf8
		zh_SG.utf8


//设置
export LC_ALL=zh_CN.utf8
export LANG=zh_CN.utf8
export LANGUAGE=zh_CN.utf8

root@a0d222e3c533:# export LC_ALL=zh_CN.utf8
		bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.utf8): No such file or directory
root@a0d222e3c533:# export LANG=zh_CN.utf8
root@a0d222e3c533:# export LANGUAGE=zh_CN.utf8
root@a0d222e3c533:# locale
		LANG=zh_CN.utf8
		LANGUAGE=zh_CN.utf8
		LC_CTYPE="zh_CN.utf8"
		LC_NUMERIC="zh_CN.utf8"
		LC_TIME="zh_CN.utf8"
		LC_COLLATE="zh_CN.utf8"
		LC_MONETARY="zh_CN.utf8"
		LC_MESSAGES="zh_CN.utf8"
		LC_PAPER="zh_CN.utf8"
		LC_NAME="zh_CN.utf8"
		LC_ADDRESS="zh_CN.utf8"
		LC_TELEPHONE="zh_CN.utf8"
		LC_MEASUREMENT="zh_CN.utf8"
		LC_IDENTIFICATION="zh_CN.utf8"
		LC_ALL=zh_CN.utf8

//再次查看,已经换成了utf-8编码
root@a0d222e3c533:# locale charmap
			UTF-8
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VS Code中进行Docker远程调试,您可以按照以下步骤进行设置: 1. 安装所需的扩展:在VS Code中,点击左侧的扩展图标,搜索并安装以下扩展:Docker、Remote - Containers。 2. 启动VS Code的远程开发功能:点击左下角的"">"图标,在弹出的菜单中选择"Remote-Containers: Open Folder in Container..."。然后,选择您的项目文件夹,它将会在一个Docker容器中打开。 3. 配置Docker容器:VS Code会自动创建一个名为".devcontainer"的文件夹,并在其中生成一个"Dockerfile"和一个"devcontainer.json"文件。您可以根据自己的需求对它们进行配置,例如指定基础镜像、安装依赖等。 4. 连接到Docker容器:在VS Code的底部状态栏上,会有一个绿色的Docker图标。点击它,然后选择连接到已打开的容器。VS Code将会构建和启动容器,并在其中打开一个新的窗口。 5. 配置调试器:在新窗口中,打开您想要进行远程调试的代码文件。然后,点击左侧的调试图标,在调试面板中选择"create a launch.json file"。根据您的需要选择适当的调试环境(例如Python、Node.js等),VS Code将会在".vscode"文件夹中创建一个"launch.json"文件。 6. 配置调试任务:在"launch.json"文件中,您可以配置调试任务的详细信息,例如指定调试器的路径、工作目录、启动参数等。确保正确设置了与Docker容器相关的调试选项。 7. 启动调试:点击调试视图中的绿色播放按钮,VS Code将会连接到Docker容器并启动调试会话。您可以在调试控制台中查看输出和调试信息。 通过以上步骤,您就可以在VS Code中进行Docker远程调试了。请注意,在进行远程调试之前,确保已在Docker中安装了所需的调试工具和依赖,并正确配置了调试环境和任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值