($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
Access Client Solutionsのデータ転送での文字コード s さん [ 6月8日(木) 10時40分 ]
Access Client Solutionsのデータ転送機能を使ってテキストデータをホスト上のデータベースにアップロードしようとしています。
テキストデータの文字コードはASCII(Shift-JIS)です。
IBM System i Access for Windowsでのテキスト転送なら、変換元文字コードをASC?にしておけば、正常にアップロードできていたのですが、Access Client Solutionsのデータ転送機能には文字コードASC?がなくなっています。
Shift-JISを利用してアップすると、一部を除いては正常にアップロードされます。
「\」や「?」のみ、正しく変換されず化けてしまいます。

どうすれば「\」や「?」を正しくアップロードできるでしょうか。

ちなみにホスト上のデータの内容をHEXで確認したところ、「B2」で格納されていました。本来、「\」が「5B」です。
RE:Access Client Solutionsのデータ転送での文字コード IKD さん [ 6月10日(土) 7時14分 ]
直りません。

「\」や「$」は文字というより「通貨記号」という記号なのです。
従って日本語環境の「\」は英語環境では「$」となるのは
正しい動作です。

IBM i の開発者はサブ・ルーチン名やフィールド名に
通貨記号を意味なく多用しがちですが、これが現代のように
ASCII 環境との互換が日常化してくると問題となります。

データのアップロードやダウンロードだけでなく
インターネットでの動作やPCオーガナイザー(STRPCO)でも
動作しななります。

データに特殊記号が含まれている場合は仕方ありませんが
プログラム名、ファイル名、フィールド名の一部に
特殊記号を挟むのは厳に避けるべきでしょう。
唯一、互換性のある記号は「_」(アンダースコア)です。
RE:Access Client Solutionsのデータ転送での文字コード s さん [ 6月13日(火) 10時1分 ]
「\」を送信して「$」が表示される、ではなく「\」を送信したら英語環境のバックスラッシュに変換されてアップされてしまっているようですがこれも正しい動作になるのでしょうか?
(Ctrl+F3を押したらバックスラッシュが表示されました。EBCDICコードの"B2"ですね。)
Jis-Codeの"5C"をアップロードしたらEBCDICの"B5"に変換してほしかったのですがそれも無理なのでしょうか。


今回やりたかったことはPC上のフォルダのパスをアップして画面上に表示したり、ホストの画面でフォルダのパスを指定し、それをPC側にダウンロードして読みこんで処理をするといったことがしたかったのですがRPG側でコード変換処理をするしかないということでしょうか。

RE:Access Client Solutionsのデータ転送での文字コード IKD さん [ 6月13日(火) 12時37分 ]
バックスラッシュ(キー・ボードの「ろ」)が通貨記号です。
英文キー・ボードではここに「$」があります。
「\」はたまたま右上にありますが「ろ」のキーと同じです。
半角モードで「ろ=バックスラッシュ」を押してみてください。
「\」と表示されるはずです。

5250エミュレータでバックスラッシュが表示される場合は
設定を変更している可能性があります。

[参考] 日本語では c:\temp のように表現しますが
         英文では \ の部分がバックスラッシュになります。

【注意】他人に教えてもらうのに「これでも正しい?」とは
        随分、失礼な表現ですね。
        ご自分の説明は別にして通貨記号を知らないのに
        人に教えをこう態度ではありません。
        私はあなたに説明する義務はないのですよ。
RE:Access Client Solutionsのデータ転送での文字コード s さん [ 6月13日(火) 13時48分 ]
ありがとうございました。
表現に失礼があったようで申し訳ありません。今後気をつける様ににいたします。
「これでも」ではなく「これも」だったのですがこちらの知識不足で申し訳ありませんでした。

5250エミュレータのデータ転送機能を利用して\を転送した場合は、「\」がそのままアップされていたのでACSでも同じようにしたかったのですができないのでしょうか

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目