Re: [Q]cat では文字化けしないファイルが vi だと文字化け
Anonymous Buddha wrote:
> > 会社・自宅それぞれのコンピュータ環境は同質なのですか?
> > 全然別のOS, $LANG, locale, $term, $TERMCAPなのですか?
>
> 失礼しました。
> 自宅の環境に付いて説明するのを忘れていました。
locale と $term と $TERMCAP は関係ないかもですね。
そのこと見越してこの項目無回答だったのは慧眼。
> 無指定の場合、nkf はデフォルトで jis に変換する、とオンライン・マニュアルにありまし
> たが、実際には環境変数に動作が依存する部分があるのでしょうか?
なかったみたいですね。
オプションの指定はしたか否かとだけ尋ねるべきでした。
> > なにがどのように化けたというのでしょう?
>
> 日本語は全部化けてしまいました。
> アルファベットは大丈夫でした。
「どのように」の部分の回答が「全部」というの
は求めていた内容とは違うのですが…まあそれはおいといて。
> > > vi は特定の文字コードを想定して動作したりしているのでしょうか?
> >
> > viクローンの種類によってはありえます。古い実装でもありえます。
わたしが使っている nvi は以下のようになっています。
> ruri{shibuya}% ex
> /tmp/vi.v21284: new file, iso-2022-jp: line 1
> :version
> Version 1.79 (10/23/96) The CSRG, University of California, Berkeley.
> multilingualization patch version Nov 17, 1999 by Jun-ichiro itojun Hagino.
> :set all
> noaltwerase extended mesg report=5 tags="tags"
> noautoindent filec="" nomodeline noruler term="vt100"
> autoprint flash msgcat="./" scroll=11 noterse
> noautowrite hardtabs=0 noprint="" nosearchincr notildeop
> backup="" noiclower nonumber nosecure timeout
> nobeautify noignorecase nooctal shiftwidth=8 nottywerase
> cdpath=":" keytime=6 open noshowmatch noverbose
> cedit="" noleftright optimize noshowmode warn
> columns=80 lines=24 path="" sidescroll=16 window=23
> nocomment nolisp print="" noskipdisplay nowindowname
> noedcompatible nolist prompt noslowopen wraplen=0
> escapetime=1 lock noreadonly nosourceany wrapmargin=0
> noerrorbells magic noredraw tabstop=8 wrapscan
> noexrc matchtime=7 remap taglength=0 nowriteany
> autodetect="jp+"
> directory="/tmp"
> displayencoding="euc-jp"
> fepkey="/?aioAIO"
> fileencoding="iso-2022-jp"
> inputencoding="euc-jp"
> paragraphs="IPLPPPQPP LIpplpipbp"
> recdir="/var/tmp/vi.recover"
> sections="NHSHH HUnhsh"
> shell="/usr/local/bin/tcsh"
> shellmeta="~{[*?$`'"\"
> :q
ここでの議論に使える特徴的な部分は
> autodetect="jp+"
> displayencoding="euc-jp"
> fileencoding="iso-2022-jp"
> inputencoding="euc-jp"
の4行だと思います。
--
mailto:shibuya@dd.iij4u.or.jp 渋谷伸浩
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735