qbittorrent 完成脚本 %N 中文输出为问号如何处理 ?

2022-02-23 14:58:00 +08:00
 GHvyuR7N

qbittorrent 完成脚本 %N 中文输出为问号如何处理 ?

Linux 业余用户学习中

环境为群晖 DS216Play ,armv7 ,无法安装 docker ,使用 opkg install qbittorrent 安装 qbittorrent 。

#!/bin/bash

# /bin/bash ./qbittorrent2bark.sh "%N" "%G"

torrentname=$1
torrenttag=$2

echo $1 >> /volume1/data/test.txt
echo $torrentname >> /volume1/data/test.txt
echo $2 >> /volume1/data/test.txt
echo $torrenttag >> /volume1/data/test.txt
# qbittorrent.log

(N) 2022-02-19T22:13:47 - Torrent:铁路边的孩子们,运行外部程序,指令:/volume1/data/qbittorrent/qbittorrent2bark.sh "铁路边的孩子们" "bark"
# test.txt

???????
???????
bark
bark
qBittorrent version: v4.3.9

Qt: 5.14.2
Libtorrent: 1.2.13.0
Boost: 1.77.0
OpenSSL: 1.1.1l
zlib: 1.2.11
# $ echo $LANG

en_US.utf8

# $ locale

LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8

# $ locale -a

C
cs_CZ.utf8
da_DK.utf8
de_DE.utf8
en_US.utf8
es_ES.utf8
fr_FR.utf8
hu_HU.utf8
it_IT.utf8
ja_JP.utf8
ko_KR.utf8
nb_NO.utf8
nl_NL.utf8
pl_PL.utf8
POSIX
pt_BR.utf8
pt_PT.utf8
ru_RU.utf8
sv_SE.utf8
tr_TR.utf8
zh_CN.utf8
zh_TW.utf8
#!/bin/bash

# 标签为 bark 的种子下载完成后,推送通知到 bark
# qBittorrent 脚本设置为:/bin/bash ./qbittorrent2bark.sh "%N" "%G"

torrentname=$1
torrenttag=$2

echo $1 >> /volume1/data/test.txt
echo $2 >> /volume1/data/test.txt
echo $LANG >> /volume1/data/test.txt
echo $locale >> /volume1/data/test.txt
# ./test.txt

??????????9.7????????????????????????????????????? by ??? [???] (z-lib.org).epub
bark


en_US.utf8

脚本内运行echo $LANG 不输出值,最后一条是我 ssh 进入 DS216Play 手动运行 echo $LANG >> /volume1/data/test.txt 的测试。

2627 次点击
所在节点    Linux
4 条回复
GHvyuR7N
2022-03-20 20:11:02 +08:00
自问自答,问题已解决:
为 /opt/etc/init.d/S89qbittorrent 添加 LANG 环境即可:

```
# sudo vim S89qbittorrent

#!/bin/sh

ENABLED=yes
PROCS=qbittorrent-nox
ARGS="--webui-port=9080 --profile=/opt/etc --configuration=entware -d"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.utf8

. /opt/etc/init.d/rc.func
```
x2009again
2022-05-21 00:50:28 +08:00
centos7 qbittorrent4.1.9 也有这种问题,请问应该怎么处理?
x2009again
2022-05-21 00:51:25 +08:00
它的日志输出就是乱码了
x2009again
2022-05-21 11:09:18 +08:00
@x2009again 自问自答,参考后问题已解决:升级到 4.2.3 后(密码加密协议不向后兼容,使用旧密码无法登录,需要重置),日志中的中文没有乱码了,在启动服务中增加了语言环境变量
Environment="LANG=zh_CN.UTF-8"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835927

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX