HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2025
0318
ABBOTTSpipeexecで文字化け5解決


ABBOTTS

リンク

2025/3/18(Tue) 00:27:43|NO.103286

pipeexec の実行結果が文字化けして困っています。
下記のソースコードは pipeexec の実行結果を dialog 表示する処理ですが、
私が所有している2台のPCのうち、PC-1では正しく表示されますが、PC-2で文字化けして表示されます。
そこで先頭に #include "hsp3utf.as" を付け足すと、今度はPC-1で文字化けして表示され、PC-2は正しく表示されます。
PCによって逆の結果となってしまうため、両方のPCに対応することができません。
私の2台のPCに限らず、どのようなPCでも文字化けを起こさないようにするにはどうすればいいのでしょうか。


#include "hspext.as" sdim net_in, 2048 sdim net_buff, 2048 net_in = "" net_buff = "" pipeexec net_buff, "netsh wlan show interface", 1 repeat pipeget net_in if( stat = 0 ){ break } await 10 loop dialog net_buff end



この記事に返信する


正蔵

リンク

2025/3/18(Tue) 14:58:19|NO.103290

実行するコマンドに文字コードの変更を入れたワンライナーにすれば私の環境では大丈夫そうです。


#include "hsp3utf.as" #include "hspext.as" sdim net_in, 2048 sdim net_buff, 2048 net_in = "" net_buff = "" pipeexec net_buff, "cmd /c chcp 65001 > nul & netsh wlan show interface", 1 repeat pipeget net_in if( stat = 0 ){ break } await 10 loop dialog net_buff end



ABBOTTS

リンク

2025/3/19(Wed) 00:29:11|NO.103297

正蔵さん、回答ありがとうございました。
教えていただいた方法で文字化けはしなくなりました。

ただ、chcp 65001 によって出力が英語表記になってしまうのですが、これはこういうものなのでしょうか?
ネットで調べてみると同じように英語になる方がいらっしゃるので私だけの現象ではないとは思いますが。

出力結果の左側に書かれた項目名を notefind で検索して特定の情報を取り出す処理を作りたいため、
検索の都合で出力結果を日本語か英語かどちらかに固定させたいという事情がありまして。
もしご存じでしたらご教示いただきたく。



正蔵

リンク

2025/3/19(Wed) 19:03:07|NO.103302

Linuxなどでは文字コードと表示する言語をセットで扱っていて(ja_JP.utf8のように)こういった問題は起きないのですが、
Windowsはコードページ識別子で65001は単にUTF-8となっていて不安ですよね。
https://learn.microsoft.com/ja-jp/windows/win32/intl/code-page-identifiers

ただ、私はWindowsのメジャーバージョン(Win7、10、11など)が同じうちは変わらないと推測します。
コードページ65001で突然日本語も対応するといった破壊的変更はをいきなりやると影響が大きすぎると思います。



正蔵

リンク

2025/3/19(Wed) 19:22:02|NO.103303

連投すみません。スマートではないですがpowershellのGet-NetAdapterでも似たような情報が取れます。
これですと絞り込み自体がpowershellの機能でできるので英語日本語を気にする必要がなくなると思います(こっちは基本的に英語のようですが)。

pipeexec net_buff, "powershell /c \"chcp 65001 > $null; Get-NetAdapter | Where-Object { $_.MediaType -eq \\\"Native 802.11\\\" } | Select-Object Name, InterfaceDescription, MediaConnectionState | Format-List\"", 1



ABBOTTS

リンク

2025/3/20(Thu) 22:13:58|NO.103307

正蔵さん、回答ありがとうございます。
UTF-8にすると英語になる現象は皆さんが認識されていることで当面は変わらなそうということですね。
英語を前提に検索するようにしたいと思います。

また、PowerShellの使い方も教えていただきありがとうございます。
これで作れるアプリの幅が広がりそうです。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.103286への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2025(c) All rights reserved.