Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
8 / 402 ツリー    ←次へ | 前へ→

外変のbatファイルの文字化けと誤動作 ひでと 26/6/17(水) 12:46

Re:外変のbatファイルの文字化けと誤動作 ひでと 26/6/19(金) 12:21
Re:外変のbatファイルの文字化けと誤動作 卯之介 26/6/19(金) 13:30
Re:外変のbatファイルの文字化けと誤動作 ひでと 26/6/19(金) 14:29

Re:外変のbatファイルの文字化けと誤動作
 ひでと  - 26/6/19(金) 12:21 -
▼卯之介さん:
ありがとうございます。
だいぶ分かってきました。

1.jw_cadでの判定
2.コマンドプロンプトの判定
3.jwc_temp.txtの読み書き
4.メモ帳での判定の4つを意識しないといけないのですね。
JWの判定では正しく判定されているかと思います。

コマンドプロンプトの為の処理としてはbatファイルに
1.1行目に空白行入れる(エンターキーを押す)
2.2行目に EF BB BF と記載
3.chcp 65001を記載(chcp 65001>nullを記載?)
の3つを入れて、メモ帳でUTF8で保存するかプログラムで保存する

上記で作られるjwc_temp.txtはUTF8になるので、プログラム中の処理はUTF8にする。

>jw_cadがbatファイルのエンコードを自動判定して、一覧画面では[S-JIS]あるいは[UTF-8]が表示されていると思いますが、これは正しく判定されていますか?
>もし[S-JIS]で文字化けしているのなら、書き出されるjwc_temp.txtもShiftJISとなります。
>
>もしUTF-8で保存したのであれば、WindowsコマンドプロンプトがUTF-8のbatファイルを実行するために chcp 65001 の記述が必要です。これはjw_cadの挙動とは別の話です。
>
>BOM付き(ファイル先頭に EF BB BF の3バイトを付加)であればまず間違いなくUTF-8エンコードであると認識されますが、batファイルとして実行すると1行目に変なエラーが出るので先頭を空行にしておくと巻き込まれません。
>
>UTF-8と認識された時はjwc_temp.txtの先頭にもこの3バイトがついてきますので、外部変形プログラムのほうでもそれを意識して処理する必要が生じます。具体的には、先頭の「hq」行に対して雑な認識をしていると取りこぼして失敗します。しました。
>
>メモ帳でエンコードを確認する場合、ASCII文字だけのファイルの時は単に「UTF-8」と表示されます。jwc_temp.txtに少しでも全角文字が含まれていてShiftJISと判定されれば「ANSI」と出るかと思いますが、どちらともつかない場合は標準で「UTF-8」とするのが現在のnotepadの仕様です。
>
>思いつくのはこれくらいです。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0@sni103-red.in.shared-server.net>
・ツリー全体表示

Re:外変のbatファイルの文字化けと誤動作
 卯之介  - 26/6/19(金) 13:30 -
>2.2行目に EF BB BF と記載

BOMはそういう事じゃないです。
エディタで「UTF-8(BOM付き)」形式で保存すると、ファイル先頭にその3バイトが付加されます。これがBOM付きの状態です。
VBは存じ上げませんが、System.IO.StreamWriter で「System.Text.Encoding.UTF8」の指定をするとBOM付きで書き出され、無指定の場合にBOMなしのUTF-8になると書かれていましたので
普段生成されているjwc_temp.txtは既にBOM付きになっているかと思います。

batファイルをメモ帳で編集し、名前を付けて保存する際、エンコード指定を「UTF-8」にするとBOMなし、「UTF-8(BOM付き)」にするとBOM付きで生成されます。テキストの1行目に書くとか2行目に書くとかではなく、バイナリエディタでそのファイルを開いて確認してみてください。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0@sni106-red.in.shared-server.net>
・ツリー全体表示

Re:外変のbatファイルの文字化けと誤動作
 ひでと  - 26/6/19(金) 14:29 -
▼卯之介さん:
>>2.2行目に EF BB BF と記載
>
>BOMはそういう事じゃないです。
>エディタで「UTF-8(BOM付き)」形式で保存すると、ファイル先頭にその3バイトが付加されます。これがBOM付きの状態です。
>VBは存じ上げませんが、System.IO.StreamWriter で「System.Text.Encoding.UTF8」の指定をするとBOM付きで書き出され、無指定の場合にBOMなしのUTF-8になると書かれていましたので
>普段生成されているjwc_temp.txtは既にBOM付きになっているかと思います。
>
>batファイルをメモ帳で編集し、名前を付けて保存する際、エンコード指定を「UTF-8」にするとBOMなし、「UTF-8(BOM付き)」にするとBOM付きで生成されます。テキストの1行目に書くとか2行目に書くとかではなく、バイナリエディタでそのファイルを開いて確認してみてください。

ありがとうございます。
変な感じはしていたのですが、理解いたしました。
バイリーエディタとか駄目なので、確認はできませんが、修正します。
ありがとうございました。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0@sni102-red.in.shared-server.net>
・ツリー全体表示

8 / 402 ツリー    ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 1270151
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka