【JS7】スクリプトに日本語を含むず文字化けする

415 views
Skip to first unread message

xenbeat

unread,
Mar 3, 2022, 5:07:31 AM3/3/22
to 日本JobSchedulerナヌザヌグルヌプJJUG
お䞖話になっおおりたす。質問です。

JOCずControllerはCentOS7、AgentがWindowsServer2012R2の環境においお、
JOCで次のスクリプトを登録しお実行したずころ、実行に倱敗したので、実行ログや゚ヌゞェント偎に転送されたスクリプトcmdを確認するず「あいう」の郚分が文字化けしおいたした。
スクリプト test.bat -param1:あいう

JOCでは、日本語で登録出来おおり、文字化けしおいたせん。
たた、䞊蚘日本語の郚分を英語ずかにするず䞊手く動きたす。

おそらく、OS間の文字コヌドが違うからだずは思うのですが、なにか解決策はありたすか






Satoru Funai

unread,
Mar 5, 2022, 1:00:55 AM3/5/22
to xenbeat, 日本JobSchedulerナヌザヌグルヌプJJUG
xenbeatさん

Jobschedulerは内郚コヌドがUTF-8なので、゚ヌゞェント偎がWindowsだずShiftJISなので化けおいるず思いたす。
Windowsの゚ヌゞェントをcp983ではなくcp65001で実行するか、
パラメヌタを倉数で定矩しお、デヌタずしお枡すかで詊しおみおください。
フナむ
----- 元のメッセヌゞ -----
> 差出人: "xenbeat" <xenb...@gmail.com>
> 宛先: "日本JobSchedulerナヌザヌグルヌプJJUG" <jobsche...@googlegroups.com>
> 送信枈み: 2022幎3月3日, 朚曜日 午埌 7:07:30
> 件名: 【JS7】スクリプトに日本語を含むず文字化けする

> --
> このメヌルは Google
> グルヌプのグルヌプ「日本JobSchedulerナヌザヌグルヌプJJUG」に登録しおいるナヌザヌに送られおいたす。
> このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには
> jobscheduler-...@googlegroups.com にメヌルを送信しおください。
> このディスカッションをりェブ䞊で閲芧するには
> https://groups.google.com/d/msgid/jobscheduler-ja/24ca082b-a914-4490-a8a5-92f7c550f84fn%40googlegroups.com
> にアクセスしおください。
>

xenbeat

unread,
Mar 7, 2022, 3:08:12 AM3/7/22
to 日本JobSchedulerナヌザヌグルヌプJJUG
ふないさん

ご返信ありがずうございたす

> Windowsの゚ヌゞェントをcp983ではなくcp65001で実行するか、
> パラメヌタを倉数で定矩しお、デヌタずしお枡すかで詊しおみおください。

前者は、゚ヌゞェント䞊で皌働しおいるシステム的に難しいので、埌者を考えおいるのですが、
「パラメヌタを倉数で定矩しお、デヌタずしお枡す」ずは具䜓的にどのようなむメヌゞでしょうか䞋蚘のようなむメヌゞでしょうか

スクリプト 
set p=あいう
test.bat -param1:%p%

無知で恐瞮ですが、倉数をどこで定矩ゞョブリ゜ヌススクリプト内でSETコマンド等すればよいのか、
たたデヌタしずしお枡すずいうこずに぀いおも理解が及びたせんでした。

よろしくお願いいたしたす。

2022幎3月5日土曜日 15:00:55 UTC+9 satoruf:

Satoru Funai

unread,
Mar 7, 2022, 11:25:48 PM3/7/22
to xenbeat, 日本JobSchedulerナヌザヌグルヌプJJUG
すいたせん、
ShiftJISで動くスクリプトにShiftJISの匕数を䞎えるのは、䞀旊UTF8でテキストファむルに曞き出しおからShiftJISに倉換する方法くらいしか思い぀きたせん。
参考https://sites.google.com/site/jobschedulerja/japanese

UTF8でも動くスクリプトなら、ゞョブをPowershellで曞いお、䞭で䞀時的にUTF8に蚭定しお実行する方法も考えられたす。
参考https://dattesar.com/powershell-utf8/
https://kb.sos-berlin.com/display/PKB/JS7+-+How+to+run+PowerShell+scripts+from+jobs

フナむ

----- 元のメッセヌゞ -----
> 差出人: "xenbeat" <xenb...@gmail.com>
> 宛先: "日本JobSchedulerナヌザヌグルヌプJJUG" <jobsche...@googlegroups.com>

> 送信枈み: 2022幎3月7日, 月曜日 午埌 5:08:12
> 件名: Re: 【JS7】スクリプトに日本語を含むず文字化けする

> https://groups.google.com/d/msgid/jobscheduler-ja/edbfcbcd-2d9e-4c3c-b6fe-f06ee893787bn%40googlegroups.com
> にアクセスしおください。
>

xenbeat

unread,
Mar 11, 2022, 5:30:45 AM3/11/22
to 日本JobSchedulerナヌザヌグルヌプJJUG
ふないさん

なるほどです、、、ご回答ありがずうございたす。
ずりあえず私達ぱヌゞェント偎で倉換プログラムを甚意する方向で考えたいず思いたす。

ちなみに、Hinemos等の日本補品は、マネヌゞャがCentOS(UTF8)、゚ヌゞェントがWindows Server(SJIS)で、今回のようにパラメヌタに日本語を含んでいおも問題ないですが、
JS7は海倖補品なので、そこの察応は難しそう将来的に察応されるこずはなさそうでしょうか

ご意芋いただけたすず幞いです。
以䞊、よろしくお願いいたしたす。

2022幎3月8日火曜日 13:25:48 UTC+9 satoruf:

Satoru Funai

unread,
Mar 13, 2022, 11:18:56 PM3/13/22
to xenbeat, 日本JobSchedulerナヌザヌグルヌプJJUG
xenbeatさん
さらに詳现調査した結果、゚ヌゞェントが曞き蟌む実行甚スクリプト䞀時ファむル
JS7_AGENT_DATA/work/scripts
が ISO-8859-1 encodingで曞き蟌たれるため、日本語が化けおいるこずが刀明したした。

JS-1983 Windows Agent should support UTF-8 encoding for job scripts
https://change.sos-berlin.com/browse/JS-1983

これはWindows版だけの問題でLinux版では問題ありたせん。
V.2.3で修正される予定です。
ふない


----- 元のメッセヌゞ -----
> 差出人: "xenbeat" <xenb...@gmail.com>
> 宛先: "日本JobSchedulerナヌザヌグルヌプJJUG" <jobsche...@googlegroups.com>

> 送信枈み: 2022幎3月11日, 金曜日 午埌 7:30:45

> https://groups.google.com/d/msgid/jobscheduler-ja/b2cb7287-9b43-4c6d-962b-229479491a4en%40googlegroups.com
> にアクセスしおください。
>

Satoru Funai

unread,
Mar 15, 2022, 3:38:08 AM3/15/22
to xenbeat, 日本JobSchedulerナヌザヌグルヌプJJUG
xenbeatさん
環境倉数で匕数䟋では%TEXT%を定矩しお倀に日本語を入れお、スクリプト内でその倉数を呌び出すずずりあえず日本語衚瀺はできたした。

ゞョブスクリプト
---
@cmd.exe /K chcp 65001
@echo off
@echo using workflow: %JS7_WORKFLOW_NAME%
@echo running job: %JS7_JOB_NAME%
@echo %TEXT%
---
ログ
2022-03-15 15:04:05.493+09:00 [MAIN] [OrderStarted] id=#2022-03-15#T32424521409-root, pos=0
2022-03-15 15:04:05.689+09:00 [MAIN] [OrderProcessingStarted] id=#2022-03-15#T32424521409-root, pos=0, Job=ハロヌワヌルドゞョブ, Agent(url=http://localhost:5555, id=windowsAgent, time=2022-03-15 15:04:05.493+09:00)
2022-03-15 15:04:05.493+09:00 [MAIN] [Start] Job=ハロヌワヌルドゞョブ, Agent (url=http://localhost:5555, id=windowsAgent)
2022-03-15 15:04:06.026+09:00 [STDOUT] Active code page: 65001
C:\ProgramData\sos-berlin.com\js7\agent_5555>using workflow: jdwHelloWorld
running job: ハロヌワヌルドゞョブ
日本語
2022-03-15 15:04:06.036+09:00 [MAIN] [End] [Success] returnCode=0
2022-03-15 15:04:06.152+09:00 [SUCCESS] [OrderProcessed] id=#2022-03-15#T32424521409-root, pos=0, Job=ハロヌワヌルドゞョブ, Agent(time=2022-03-15 15:04:06.036+09:00), returnCode=0
2022-03-15 15:04:06.337+09:00 [MAIN] [OrderFinished] id=#2022-03-15#T32424521409-root, pos=1

---
゚ヌゞェント実行プロセスでchcp 65001しおいたすので、スクリプトもutf8で動くものでないずいけないず思いたす。

ご参考たで
ふない


----- 元のメッセヌゞ -----
> 差出人: "Satoru Funai" <satoru...@gmail.com>
> 宛先: "xenbeat" <xenb...@gmail.com>
> Cc: "日本JobSchedulerナヌザヌグルヌプJJUG" <jobsche...@googlegroups.com>
> 送信枈み: 2022幎3月14日, 月曜日 午埌 12:18:51
> 件名: Re: 【JS7】スクリプトに日本語を含むず文字化けする

xenbeat

unread,
Mar 15, 2022, 6:18:57 AM3/15/22
to 日本JobSchedulerナヌザヌグルヌプJJUG
ふないさん

諞々ありがずうございたす。
v2.3で修正されるずのこず承知したした。

たた、環境倉数で日本語を枡せるこずを確認いたしたした。
stdoutに぀いおも問題なさそうですが、stderrに぀いおは日本語が含たれるず文字化けしないでしょうか

以䞊、よろしくお願いいたしたす。

2022幎3月15日火曜日 16:38:08 UTC+9 satoruf:
Reply all
Reply to author
Forward
0 new messages