• 締切済み

NetCOBOLで作成した印刷PGで文字化け

NetCOBOLで作成した印刷PGを、Windows7で実行して Microsoft Office Document Image Writer に印刷したとき、 Windows7とWindowsXP(SP3)で同じファイルを見ているのに、WindowsXPでは文字化けしている部分があります。 01 帳票-明細レコード1 CHARACTER TYPE IS MODE-2 BY HSC 03 明細1-金額1 PIC N(016) 03 FILLER PIC X(001) 03 明細1-金額2 PIC N(016) 03 FILLER PIC X(001) 03 明細1-金額3 PIC N(016) 03 FILLER PIC X(020) 上記のレイアウトで、最後の20バイトのFILLER部分で、 Windows7は空白で、WindowsXPでは ! が20個表示されます。 また、明細1-金額3 の後に項目を1つ追加して、そこに ) を出力するようにしたところ、 WindowsXPでは * が表示されました。 文字コードを見てみると、WindowsXPでは1つズレて、  空白 → !  )   → * となっているように思われます。 どなたか、原因と対策についてご教授願えないでしょうか? よろしくお願いします。

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

>03 FILLER PIC X(001) FILLERには値が設定されないので印刷時に何が表示されてもおかしくないです。 WRITE前に MOVE SPACE TO 帳票-明細レコード1 するか、 03 FILLER PIC X(01) VALUE SPACE . で初期値を設定してください。

pcb39431
質問者

補足

回答ありがとうございます。 初期化は当然行っています。 お聞きしたいのは、 Windows7で実行して出力された、 A.mdi というファイルを、Windows7で開けると FILLERの20桁部分は空白なのに、WindowsXPで開けると ! になっている原因と対策についてです。

関連するQ&A

  • 印刷時に文字化けします。

    よろしくお願いします。 自分の使っているパソコンは WindowsXP Home Edition Version2002 Service Pack3です。 ホームページを印刷したら”部分的に文字化け”するのです。 全部文字化けしても印刷の無駄には違いないのですが ”部分的に文字化け”が余計に悲しいです。 とても困っています。 どなたか助けてください。

  • プリンタで印刷すると文字化けします。

    使用しているプリンタ(複合機)はEPSONのCC600-PXです。それが印刷しようと、印刷ボタンを押すと文字化けしたものが印刷されます。それも1枚しか印刷設定していないのに何枚も。 それがおきるようになったのは、PC本体を修理に出してからだと思います。PCが急に電源をつけても途中まではつくのに最後まで電源がつかないので修理に出しました。そして、返ってきたらPCは見事にすべてのデータがなくなり初期化されてきました。 そのため、必要なものなどをインストールしました。 いざ、印刷しようとしたところ印刷はできず文字化けが印刷されてしまいました。 ウィンドウで開いたものを印刷しようとすると文字化けして印刷が何度も繰り返されるのですがプリンタのみで使用するコピーは使用できます。 ちなみ、文字化けはこんな感じです。 &e%```z`idb`"hif@-(@('hb)lfh &''''@l n6@h&ff& こんなのが数行続いたりします。 説明書などをよく見ましたがよくわかりません。 ソフトウェアの削除をしてからまたインストールをしなおしてみましたが、それでも解決されませんでした。 どうか、解決策を教えてください。

  • 文字が綺麗に印刷されない

    文字を印刷すると一部分のみ空欄みたいになり文字として認識出来無い印刷になる。 (空白のすじが入るみたいな感じです) 印字テストやクリーニングを何度も(5回程)やりましたが少し改善しただけで完全とは言えない状態です。 ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • 「﨑」という文字を印刷したい

    「﨑」という文字を印刷したいと考えています. 印刷のコマンドをテキストファイルへ発行したところ, 「﨑」の部分だけ空白で印刷されました. この文字を印刷する方法はありますか? 環境:Solaris8 プリンター:Fujizerox postscripts3プリンター

  • WORDで一部の文字を印刷しない(または薄く印刷)

    WORDで、文章を打ったあと、途中行に例えば「ここから下は部外秘」などと記入し、その言葉だけは画面では見えるけど印刷はされないようにしたいのです。 「隠し文字」を使うと、隠し文字より下の行が詰められてしまうので、だめなのです。 印刷したくない部分は空白として、印刷しないことって出来ませんでしょうか? または、薄くするだけでもいいのす。しかし文字の色を薄くしましたが、それでも印刷すると他の文字とおなじく真っ黒になってしまいます。(ちなみに白黒プリンターです。) どちらかのやり方をお教え頂ければありがたいです。

  • 会計ソフトの文字化け

    あまりパソコンに詳しくないので、間違った表現があったらすみません。 職場で会計ソフトを使用しています。各支店で使っていてサーバーは本社にあるのでLANタイプの物です。その内の1つの支店で会計ソフトで入力した物をプリントアウトしたら「1」の数字の部分だけ文字化けして「n」という文字になると言われました。プレビュー画面では「1」になっています。また、自分で入力した摘要欄の「1」の部分はちゃんと「1」と印刷されますが金額の欄だけ「n」になるそうです。 メーカーに聞いたら、プレビューがちゃんと出てればソフトの問題ではなくプリンターのドライバーを入れ替えてみたらどうか?と言われました。 どういった原因なのでしょうか?

  • VisualC++2005を使うと文字化けします。

    よろしくお願いします。windowsXP sp2です。 初めて、visualC++2005を使って『ウィンドウを作る』サンプルプログラムを実行したのですが、 作成されたウィンドウの、『タイトルバーの部分』 に表示される文字が化けてしまいます。 同じプログラムを『BCCDeveloper』で作成すると、文字化けしないで表示されます。 visualC++2005の設定で、どこか間違っているのでしょうか? 詳しい方、アドバイスをお願いします。

  • wordの隠し文字の印刷について教えてください

    過去の質問で検索したのですが、分からなかったのでお願いします。 word の隠し文字の指定や印刷の方法は、理解したつもりですが、 印刷のときに、現在は隠し文字の部分を詰めて印刷されますが、これを 隠し文字の文字数分だけ空白のようにあけて印刷するのはどうすればいいのですか? 例えば、次のような問題で、 >次の空欄を適語で埋めよ。 >夏目(漱石)、52+55=(107)、(源氏物語)は紫式部の作品 などとして、( )内を隠し文字にする。 最初は( )を隠し文字のまま印刷しないが、隠し文字数分の空白で印刷。 次は隠し文字を含んで印刷、という具合にしたいのです。 現在、私の印刷操作では >夏目()、52+55=()、()は紫式部の作品 となってしまうのです。このような結果ではなく次のような 印刷結果にしたいのです。 1回目の印刷 >次の空欄を適語で埋めよ。 >夏目(  )、52+55=(   )、(    )は紫式部の作品 2回目の印刷 >次の空欄を適語で埋めよ。 >夏目(漱石)、52+55=(107)、(源氏物語)は紫式部の作品 よろしくお願いします

  • エクセルで空白ページが印刷されてししまう

     エクセルで印刷する場合に余分な空白ページが印刷されてしまい困っています。印刷プレビューで見ても空白ページがあります。改ページプレビューで見ても文字等が次のページにはみ出ていることはありません。ただし最初のページ(文字等が書かれている印刷したいページ)の改ページのラインの下に印刷範囲外として色が濃い部分があり、そこにはセルがあり文字を入れることもできます(見た目には文字等はありません)。この部分のセル全部を選択して削除しても空白ページはなくなりませんでした。エクセルは2003を使用しwindows XPを使用しています。是非空白ページの除去の仕方を教えてください。よろしくお願いします。

  • お助け下さい。

    初めて書き込みます。どなたかお助け下さい。 まだ入社して半年ほどのVBAを多少勉強した程度の初心者なのですが、上司にCOBOLの課題を出され期限が迫って困っています。お助け下さい。よろしくお願いします。 課題はCOBOLで簡単な住所録を出力させるというもの。参考書やネットで探してみてコーディングしてみたのですが、ここまでしかできませんでした。以下がコーディングしたものです。出来れば本日中か明日には回答を頂きたいです。 環境はWindowsXP、Open cobolで作成しています。 以下の条件に変更、追加したいのです。 (1):10回ループしている部分をUNTILで無限にループさせて、最初の項番に戻った時に値を入力せずにEnterでフラグを立たせて終了。 (2):項番や氏名などの入力で間違って入力した際に、戻って入力し直す。 IDENTIFICATION DIVISION. PROGRAM-ID. kadai2. ENVIRONMENT SETION. FILE-CONTROL. SELECT REN-F ASSIGN TO 'C:任意.DAT' ORGANIZAITION IS LINE SEQUENTIAL FILE STATUS IS REN-ST. DATA DIVISION. FILE SECTION. FD REN-F 01 SYAIN=RAC. 05 KOUBAN PIC X(2). 05 FILLER PIC X(2). 05 SIMEI PIC N(10). 05 FILLER PIC X(2). 05 YUUBIN PIC X(10). 05 FILLER PIC X(2). 05 KEN PIC N(10). 05 FILLER PIC X(2). 05 SIKU PIC N(20). 05 FILLER PIC X(2). 05 TATEMONO PIC N(20). WORKING-STRAGE SECTION. 01 REN-ST PIC XX. PROCEDURE DIVISION. SYU SECTION. INIT. OPEN OUTPUT REN-F. IF REN-ST NOT='00' THEN CONTINUE ELSE PERFORM KAKIKOMI THRU SYUURYO END-IF. PROG-END. STOP RUN. KAKIKOMI. PERFORM 10 TIMES DISPLAY "項番" WITH NO ADVANCING ACCEPT KOUBAN DISPLAY "氏名" WITH NO ADVANCING ACCEPT SIMEI DISPLAY "郵便番号" WITH NO ADVANCING ACCEPT YUUBIN DISPLAY "県名" WITH NO ADVANCING ACCEPT KEN DISPLAY "市町村" WITH NO ADVANCING ACCEPT SIKU DISPLAY "部屋番号" WITH NO ADVANCING ACCEPT TATEMONO WRITE SYAIN-RC END-WRITE END-PERFORM. SYUURYO. CLOSE REN-F 補足と致しまして 上司にはほうれんそうに関しては日報など逐一しています。 相談やアドバイスなども求めました。 事前に設計書なども自分なりに調べて作成し提出しましたが、具体的な指摘をもらえないので修正すべき部分が分からないので困ってます。 こいった所で聞くのは、筋違いだと思いますがよろしくお願いします。

専門家に質問してみよう