AMどの時点で変わったのか、はっきりしました。6月30日相当というのは間違いでした。いうことで、大量に変更がなされており、その中にバグが潜り込んでいると思われます。ものをダウンロード、コンパイルし、JOGの(パッチは当てておりません。Releaseとの間で文字化け再現を確認しました。IMやグループチャットでは文字化けは起きません。IMは相手がofflineであるかのように、IMは保存され、グループチャット、TPコールは無視されます。SIMとの間でも同様の問題が起きると思われます。同士で文字化けが起きるのは、「リージョンをまたぐ」IMのみと報告しましたが、実験すると同一サーバーの別リージョンへのIMで文字化けはありません。正確には「SIMサーバーをまたぐ」IMにのみ文字化けが生じます。相互にIMできることを確認しました。ありがとうございます。opensimのgitからソースとにらめっこしていました。したら見当外れかもしれないという気もしていました。問題はそこには無かったのですね。bin以下に問題があったとは。22:01に入れ替わってしまっています。コンパイルし、文字化けを確認。Releaseのものと入れ替えることで、文字化けが解消されることを確認しました。PMいちおう本家バグレポートに上げておきました。文字化けの解消を確認しました。意外に対応が早かったですね。フミさん、みなさま、お疲れさまでした。リポジトリの「trunk/managed/XmlRpc」が更新され、utf8がデフォルトエンコーディングになっているのを確認しました。(ビルドはまだしてない、そのうちするw)。これが反映されたものなのでしょう。c)」というように引数区切りの後ろにスペースがついたりと、見やすく(私好み)になりましたwww。フミ先生、シノさん、どうもお疲れさまでした。すると、ログインできなくなりました。/opt/OpenSim/opensim/NXGrid/2018-01-18/opensim-0.9.0-17...のようなエラーがでてます。これは、XmlRpcRequest.csのSendメンバー関数の引数の数が変わり仕様がかわっているからです。null)...Send()メンバ関数の引数が2つから3つに増えてますので、古いバイナリーが呼び出すSend()と型が異なります。ソースコード的には引数省略のパターンで問題ないのですが、バイナリー的には互換性がありません。null)」と呼び出していれば、バイナリー互換性は保てたかもしれません。OpenSimのソースから全部コンパイルし直せば問題なく動作しました。依存するライブラリが修正されたのですから、コンパイルし直した方がいいとは思います。コンパイルしなおしたOpenSimで、日本語IMは問題なく通りました。以上、ハマりやすいポイントなので、ご注意ください。ビルド方法は次のようにしました。入れ替えるだけではダメで、OpenSimをソースコードからコンパイルしなくてはいけないのは、上に書いた通り。binディレクトリ内に入っています。Windowsだろうがプラットフォームに依存しないから、ここに入れられているのではないでしょうか。環境でビルド、JOGの設定を入れてJOGに接続して確認したものです。binディレクトリに最初から入っており、ビルドの対象ではありません。他の環境下でもそれは同じかと思います。ソースからビルドする必要はあるでしょうか?ビルドする必要はないですw。以後に更新したならば、通常はそのまま使ってビルドすれば問題ありません。言うなら、XMLRPC.dllが2018-09-17以前と以後では、いまのままではバイナリ互換性がないので、OpenSimのバイナリーは、ビルドした時期によって、どちらのXMLRPC.dllを使えばいいかが決まります。(新しいバイナリーパッケージがでたら、同梱されるから問題ないですけど)。私がソースからビルドできた方が安心する質なんで、やってみた、やってみたかった、という以上の理由はないですw。OpenSimのソースはOSGridで配布されているのをとってきてるのでgitで追っかけてないというのもあります。やって作られたからわからないバイナリーがあるってのは、なんかスッキリしないっていう気分の問題でしょうか..(Linuxの中にソースコードがない正体不明なバイナリがあったらいやじゃないですか?)。オープンソースなシステムならソースがないと、そこでメンテ不能になってしまいますからね(自分がメンテできるとはいってないww)。作ってみることにしました。以下のように、単に従来と互換があるようにSend()メンバー関数(メソッド)をオーバーロードさせました。(HttpWebRequest)WebRequest.Create(url);これをビルドして、2018-09-17以前につくられたOpenSimバイナリーのbinにコピーしてみて動かしてみましたが、特に警告はでませんでした。従来のSend()に依存しているものが無いのであれば、このオーバーロードメンバ関数は必要ありませんが...。もの好きな人の為に添付しておきます。なにが起こるか、保証できないので、試すなら自己責任でバックアップとってからにしてくださいwww。濃い話?ばかり続いてしまったので、テディさんからクレーム来そうだなぁ...ww。XMLRPC.dllが2018-09-17以前と以後では、いまのままではバイナリ互換性がないので、OpenSimのバイナリーは、ビルドした時期によって、どちらのXMLRPC.dllを使えばいいかが決まります。いえ、それはないです。XMLRPC.dillを突っ込んだら、IM文字化けなしに正常に動きます。使えばいいかが決まります。>>いえ、それはないです。バージョンが違います。方がバージョンが進んでいます。ひとつ前のバージョンのデフォルトエンコーディングをUTF-8に修正したもので、Send()メンバー関数の引数仕様はそのままでした。この為、互換性問題は生じなかったようです。方が、コメントから推測するに、通信相手方を確認するコールバック関数を仕込める仕様を追加したものになっており、これがバイナリーレベルの互換性を壊すものになっています。ソースコード全部コンパイルするのなら、特に問題は発生しません。8372」というのは、シノさんが上げられたバグレポートの番号です。「私にまつわるエトセトラ」のスレッドでも、言及しましたけど、OpenSimのいまのXmlRpcの使い方だと、セキュリティは無いに等しいですから、それを強化する方向に進もうとしているのだと思います。どの仕様のSend()を使っているか確認できます。C#実装は、似たような亜流がいっぱいあって、OpenSimは、いったいどれをベースにしてるのか、ずっともやもやしてたのです。あるのが分かり、UTF-8をデフォルトエンコーディングにしてくれたことで、私的にはかなりスッキリしました。とりとめのない、殴り書きにお付き合いいただき、どうもありがとうございました。過去のバージョンも含めてすべて取り出してみました。どちらのエンコーディングを使っているのかしらべたところ次のような結果になりました(単純すぎるやりかたですけど、まあ推測はできる)。[mscorlib]System.Text.UTF8Encoding::'.ctor'()これをみると、つぎのようにデフォルトエンコーディングが途中で変わっています。以前のソースコードとは違うものを使い始めていて、ASCIIEncodingに巻き戻ってしまっています。<ajlduarte@sapo.pt>さんに変わっています。JOGridのIMの文字化けも、これに影響されてしまったんだと思います。PMメンテナンス作業ご苦労様です。この話題になんらかの返信しようと思っていましたが、台風関係でバタバタしてて遅れてしまいました。気が向いた時で結構ですので、情報をいただければと思います。2018-01-11頃にできたもののようです。したら、XmlRpcが生えてきました)。由来のもののようです。ディレクティブの位置の変更、using()ステートメントを使用してソースコードを簡略化、してるようで、それ以外に本質的な変更はなさそうです。patchなどありましたら、教えてください。OSGridのDownloadから2018-01-18版として落としてきたソースコードで自前Gird(NXGrid)動かしてますが、付属のXMLRPC.dllをそのままつかって日本語のIMはやりとりできてます(たまたまなのかもしれませんけど)。書いたように、この場合、HTTPボディ部としてはASCIIにエンコードされるので、UTF-8バイト列がURLエンコードされて送られます。うまくデコードできているのであれば、文字化けしなさそうです。stringは、内部的にはUTF-16です。サロゲートペアを考えなくていいのであれば、とりあえず一般的に使う日本語文字は通るはずです。フミ先生には必要ないとは思いますが、C#の入門あたりをうろうろしている私も含めてC#やUnicode関係に不案内な人にちょうどいい解説のWebページがありましたので、リンクを書いておきます。C#のstringで保持しておいたほうが、後々の事を考えるといいように思います。されているのだとは思いますが...。DBのテキストのエンコーディングも、ちゃんと日本語がはいるものを採用していれば、SQLで検索とかも普通にできていいと思います。質問の繰り返しになりますが、IMが文字化けする問題の対処方法としてのBase64エンコードは、今も行っているのでしょうか?お気が向いた時で結構ですので、情報をいただければと思います。