68user's page 掲示板

Prev< No. 638〜686> Next  [最新発言に戻る] [過去ログ一覧]
No. 638 # mm 2000/01/06 (木) 01:22
>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか?
ブラウザがリンク元のページの情報としてReferer: ヘッダを送る訳ですから、
当然ブラウザが持ってます…というか、ブラウザがどのような
Referer: ヘッダを送るか、または、送らないかを決めています。

User-Agent: ヘッダもそうですが、HTTPリクエストヘッダは、
クライアント、つまりここではブラウザ次第です。

No. 639 # skeleton_M. [E-mail] 2000/01/06 (木) 15:53
あけましておめでとうございます!
今日やっと図書館が開いたので1999/12/24同様、そこのマシン
からカキコしてます(笑)。

レスが遅れてすいません>68user様

>+wx という形式だと umask の値で修飾され、その結果が実際の
>パーミッションになります。なので、umask 0 にでもなって
>いない限り 777 にはなりません。
あわわ、知りませんでした。私の勉強不足です(汗)

># 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という
># 考えもあるんでしょうね。どっちがいいのかな。
+の前に何もつけなければ(つまり+wxみたいにすれば)umaskの値で修飾される
ということを知らなかった私はいつもu+wxなどとしてましたけど。

あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを使うしかないのでしょうか?
教えていただければうれしいのですが。

No. 640 # Shingo 2000/01/06 (木) 16:47
UNIXのサブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクに
コピーする方法は在りませんでしょうか,もしあったら教えて下さい。

No. 641 # mm 2000/01/06 (木) 23:19
>サブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクにコピーする方法
http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#cp
の -R オプションではいかがでしょう?

No. 642 # SAITO [E-mail] 2000/01/06 (木) 23:26
goosan様、mm様、御回答ありがとうございました。
大変参考となりました!!
僕は、まだまだスキルは低いのですが、分かる事があれば、
答えたいと思っています。(give and takeの精神で(^-^))
今後とも宜しくおねがします。

No. 643 # Yuuki [E-mail] 2000/01/07 (金) 02:07
1月2日に帰ってたんですが、色々あって(疲れてて)遅くなりました。(^^;;

FreeBSDの入門書を見に行くついでに プログラミングPerl改訂版
(http://www.oreilly.co.jp/BOOK/pperl.htm)
を買おうと思ったのですが、始めてのPerl を買ってしまったようです:-)
著者にLarry Wallの名が無いのとラクダの絵が無いのでおかしいなとは思ってたのに
そのままレジへ....(^^;;
リファレンスの事とかモジュールの作り方とかが知りたかったのにのっていない:-)

FreeBSDの方は FreeBSD徹底入門
(http://www.pro.or.jp/~fuji/computerbooks/unix-x/freebsd.asada.html)
にしようかなと思います。まだ買ってない(^^;

>68userさん
>そのうち namazu で検索できるようにしておきます。
こりゃどうも、楽しみです。

>書籍選びには
>  http://www.jp.FreeBSD.org/CD-list/
> も参考にしてみて下さい。
参考にしまーす。

>荒木さん
>物好きなんで過去ログ頂きました。
どうぞどうぞ。
でもあまり役に立たないかも....

>なにか面白いネタを探してたりします。
僕は、勉強がてらにPerlのモジュール
とか作ろうかと。  …的外れなレスかもしれない。

No. 644 # 68user 2000/01/07 (金) 16:02
帰省先からこんにちは。

> あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを
> 使うしかないのでしょうか?
tcpdump の他にも sniffit や ethereal などがあります。
また、リクエストを表示するような簡単な http proxy を作って、
ローカルで動かしておいて、そこ経由(http://localhost:8080 とか)
でブラウズするのもお手軽でしょう。

> サブディレクトリ以下のファイルやディレクトリを
> すべて一回でフロッピーディスクにコピー
cp -R でもいいですし、
    cd target-dir; tar zcvf /floppy/archive.tgz .
というのもあります。あと mtools を使う手も。

> FreeBSDの方は FreeBSD徹底入門にしようかなと
それなりの本だとは思いますが、古い(2.2.1R)ので
あまりお勧めはしません。
# 最近はインストール本を買ってないので、
# 何がよいのか知らないんですよね。

> そもそもHTTP_REFERER情報って、ブラウザが持っているの
> でしょうか?
CGI 側から参照できる環境変数で、頭に HTTP_ がつくものは
全てブラウザや proxy サーバが値を決めています。

No. 645 # SAITO [E-mail] 2000/01/08 (土) 04:55
>始めてのPerl を買ってしまったようです:-)
Yuukiさん、僕の場合は、「初めてのPerl」を買いに行って、
「プログラミングPerl」しかなかったので、注文して
買いました。
僕のレベルに丁度マッチして、読み応え十分(笑)
未だにWINから脱する事ができないSAITOでした。

No. 646 # Shunji [E-mail] 2000/01/10 (月) 11:55
仕事中によくUNIXの部屋を利用させて頂いてます。
さっそく、教えて頂きたいのですが、
UNIXコマンドでユーザーID名とグループ名を変える事は出来ますか?
よろしくお願いします。

No. 647 # 68user 2000/01/10 (月) 13:58
> ユーザーID名とグループ名を変える
root になって /etc/passwd あたりを編集します。FreeBSD なら
vipw コマンドで書き換えればいいでしょう。group は /etc/group で。

No. 648 # skeleton_M. [E-mail] 2000/01/11 (火) 13:00
どうも、skeleton_M.です。このホームページをいつも見させていただいてます。

> > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを
> > 使うしかないのでしょうか?
> tcpdump の他にも sniffit や ethereal などがあります。
どうもありがとうございます。機会があれば試してみようと思います。

> また、リクエストを表示するような簡単な http proxy を作って、
> ローカルで動かしておいて、そこ経由(http://localhost:8080 とか)
> でブラウズするのもお手軽でしょう。
うーん、私はまだそこまでできるレベルではありません(^^;
修行せねば

No. 649 # 初心者1号 2000/01/11 (火) 20:53
Cシェルで多次元配列の記述方法があれば教えて下さい。(あるんですか?)(*_*)/

No. 650 # 68user 2000/01/12 (水) 00:42
> うーん、私はまだそこまでできるレベルではありません(^^;
port 8080 を bind するサーバプログラムを作って、
ブラウザの proxy を localhost:8080 に設定すれば、
リクエストを出すたびに
    GET http://foo/bar HTTP/1.0
    ...
というリクエストがくるので、それを (標準出力に) 表示すれば
ブラウザのリクエスト内容がわかるでしょう。

リクエスト内容を表示するだけならそれで OK ですが、
それを他のホストに中継してやると proxy サーバのできあがり。

> Cシェルで多次元配列の記述方法
できないと思います。eval 使ったり小細工すれば無理ではないでしょうけど、
perl や awk でやる方が早いと思う。

No. 651 # Shingo 2000/01/12 (水) 11:38
UNIXでディレクトリやファイルをアーカイバして圧縮してFDに移してWindows98で展開することは出来るのですか。
tar(*.tar,*.tar.gz,*.tgz),LHA・LZH(*.lzh), ZIP(*.zip)形式のアーカイバ,gzip(*.gz)形式の圧縮,すべて出来るのですか。
またUNIXでWindows用の *.exe などのアプリケーションファイルをダウンロードしてFDに移してWindows98で実行することは出来ますか。
Windowsユーザーとのデータの交換の参考のために教えて下さい。

No. 652 # 68user 2000/01/12 (水) 11:57
ただのファイル転送なので、全て可能です。アーカイブが読めるかどうかは
Windows 側にその形式を扱えるアーカイバがあるかどうかですが、
tar/gzip/LHA/LZH/ZIP 全て揃っているでしょう。

それ以前に、質問に対する答えをもらったのに (ディレクトリ一括コピーの件)、
わかったのかわからなかったのか返答する気がないなら、最初から質問しないで下さい。

No. 653 # Shingo 2000/01/12 (水) 12:27
よく分かりました。ありがとうございました。

No. 654 # skeleton_M. [E-mail] 2000/01/12 (水) 14:19
どうも、skeleton_M.です。

> port 8080 を bind するサーバプログラムを作って、
すでにこの時点でパニクってます(^^;
作り方が分からないし(参考になるページがあれば紹介していただけますか?)、
あと、作れる環境にあるかどうかも分かりません(大学の教育系ですからね)。

> ブラウザの proxy を localhost:8080 に設定すれば、
telnetでそのサーバーの8080にアクセスして…っていうのもアリですか?
#私はtelnetやftpの使い方を立ち読みで知ったクチですので、的外れでしたら
#ごめんなさい m(__)m

HTTPの原理やプロトコルのヘッダ内容、HTTP_REFERなどの環境変数に関する説
明などについて書かれている書籍をご存じでしたら教えていただけますか?そ
れを読んでからでないとせっかくのアドバイスが「ネコに小判」状態…(*_*)

No. 655 # Yuuki [E-mail] 2000/01/12 (水) 16:50
> それなりの本だとは思いますが、古い(2.2.1R)ので
> あまりお勧めはしません。
本当だ、古いんですね。(^^;;;
(http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/)
2.xより3.xのほうが新しいからいいのかぁ、、、
うーん。:-)
どのバージョンがおすすめですか、、?、、とか聞いてるより
こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね?

No. 656 # Yuuki [E-mail] 2000/01/12 (水) 16:52
下の投稿に間違いがありました:-)
> どのバージョンがおすすめですか、、?、、とか聞いてるより
> こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね?
は
> どのバージョンがおすすめですか、、?、、とか聞いてるより
> とっとと本買ってインストールしてみたほうがいいですよね?
です。すみません。

No. 657 # 荒木 2000/01/12 (水) 19:30
久しぶりにFreeBSDの公式サイトを覗いて見ました。3.X系も3.4Rまで出てたんですねぇ。
でも私,2.xと3.xの違いがあまりわかってません(^^;)
3.0からDOSのFat32がマウントできるようになったくらいしか知らない。
情報古すぎ??
ISOイメージでのリリースも行われるようになったとは。回線の早い人には便利ですね。

それから海外のPerlに関するサイトもウロチョロしてきました。
なんとPerl2exeなんていうWin32のバイナリトランサーがあるんですね。
うれしくなって,いろいろ変換してみました。
ここで公開されているものなどは問題なく動作しました。
こうなるとPerlでGUIなんてのも考えてしまいます。
暇つぶしにPerl/Tkでも勉強してみようかな(^o^)

No. 658 # 68user 2000/01/12 (水) 20:56
以下のようなスクリプトをローカルで実行して、ブラウザの proxy を
localhost:8080 にすれば、リクエスト内容だけは見られるということです。

ちゃんとリクエストを中継し、返ってくるデータをブラウザに
受け渡すようにすれば、簡易 proxy サーバになります。
# 数行の追加でできるでしょう。

#!/usr/local/bin/perl
use Socket;
$port = 8080;
socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die;
setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die;
bind(CLIENT_WAITING,sockaddr_in($port,INADDR_ANY)) || die;
listen(CLIENT_WAITING,SOMAXCONN) || die;
while (1){
        accept(CLIENT,CLIENT_WAITING);
        while (<CLIENT>){
                s/[\r\n]+$//;
                print "$_\n";
                if ( $_ eq "" ){ last }
        }
        close(CLIENT);
}

> 参考になるページがあれば紹介していただけますか?
こちらなど :-)
    http://X68000.startshop.co.jp/~68user/net/


> 暇つぶしにPerl/Tkでも勉強してみようかな(^o^)
  - 意外と細かい設定ができない
  - ちょっと重い (perl/Tk で3Dエンジン作ろうとするのが間違ってるんですけど)
  - (最新版は) 日本語が出ないのが厳しい
  - みんな Qt や Gtk に行っちゃって、ドキュメントやノウハウが入手しにくい
というのが僕の感想です。簡単な GUI インタフェースを作るくらいなら
結構使えるんですがねぇ。

> 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。
カーネルまわりは大きな変更がありましたが、ユーザランドでは
あまり違いはないです。僕のようなライトユーザには、最新の
ports/packages が使えるというくらいしか、直接的なメリットは
ないですかね。

> どのバージョンがおすすめですか、、?
ただ機能云々より、例えば ML で質問しても、2.2.1 のような古い
バージョンだと使用している人が少ないので、回答がもらいにくい
というデメリットがあります。

でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、
UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。

No. 659 # skeleton_M. [E-mail] 2000/01/14 (金) 12:16
どうも、skeleton_M.です。

スクリプトのサンプルを見せてくれてありがとうございます > 68user様
FreeBSD(98)の「非公式」ページから、リンクを辿って
    http://www.jp.freebsd.org/
にアクセスしたときのリクエスト内容を見ることができました\(^^)/
以下のようになりましたです:
GET http://www.jp.freebsd.org/ HTTP/1.0
Referer: http://www.nisoc.or.jp/~karl/freebsd-pc98/
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.03 [en] (X11; I; SunOS 5.6 sun4u)
Host: www.jp.freebsd.org
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: ja
Accept-Charset: iso-8859-1,*,utf-8

どうもありがとうございました。perlは全く知らないので、これから勉強
しようかなと思ってます。

ではでは(^^)/~~~

No. 660 # 68user [E-mail] 2000/01/16 (日) 17:11
テステス。半角カナとか、cookie とか、cache とか・Last-Modified ヘッダなどに対応。
絶対バグはあるはず。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 661 # ブタダヒカル 2000/01/16 (日) 23:54
はじめまして!!
すごいです、68userさん。いろいろ勉強になります。

じつは、いま、VC++で、HTTPクライアントプログラムをHttp1.1で
書いてるのですけど、Transfer-Encoding: chunked
で送られてくるボディのデコード方法がわかんなくて困ってます。

もし、ご存知でしたら、すこしアドバイスをいただきたいのです。
よろしくお願いします。

No. 662 # へにか [URL] [E-mail] 2000/01/17 (月) 08:16
この間は、どうもありがとうございます。
お腹が空いたので、cookieでもいただきにきました・・・
mailとurlはダミーのを入れてみます。

No. 663 # へにか [URL] [E-mail] 2000/01/17 (月) 08:20
cookieをおいしく頂きました。
ご報告まで。
※ コレラノ投稿、問題カ゛アリマシタラ、削除シテイタタ゛イテモ結構テ゛ス。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 664 # Yuuki [E-mail] 2000/01/17 (月) 12:01
掲示板がパワーアップしましたね。
今、投稿する時に
へにかさんのクッキーを食べちゃってるみたいなんですが、なんでだろう?
名前:へにか
Email:test@test.test
URL:http://www.infoseek.co.jp/
と入ってました。


> でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、
> UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。
UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。
(http://www.softbank.co.jp/~unixuser/index/1999/9912.html)
3.x付のインストール本って2.xのより少なかったです。
新しいから多いかと思ったのに、予想外:-)

No. 665 # mm [URL] [E-mail] 2000/01/18 (火) 03:10
うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^;
ハンドルの前の○のリンクは何だろう∫?
            平成(12)年I月�煽覇�

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 666 # <FONT COLOR=red>mm</FONT> [URL] [E-mail] 2000/01/18 (火) 03:14
>〓〓
は、i と viii のつもりでした。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 667 # skeleton_M. [E-mail] 2000/01/18 (火) 11:47
> UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。
UNIX USER 2000年3月号にはFreeBSD 3.4が収録予定だと思います :-)

No. 668 # 68user [URL] [E-mail] 2000/01/18 (火) 22:41
> Transfer-Encoding: chunked
全然わかりません。RFC 読んでも何のことやらさっぱりなんで、
どなたか教えて。

> 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが
ああ、そうですね。確かに前の人のが入ります。バグですね (^^;

> <FONT COLOR=red>mm</FONT>
ああ、バグですね。これ、直したつもりだったんだけどなぁ。

> i と viii のつもりでした。
あああ、バグ…ですかね? 書き込んだ i は (SJIS で)
0xEEEF ですか? それとも 0xF940 ですか?

ところで、http://X68000.startshop.co.jp/~68user/tmp/knj-tut.txt の
2D30/874F の行は、うちでは
    2D30/874F 丸16丸17…I II III…VIII IX X XI(行末)
と見えるんですが、Windows でも同じですか? XI なんてフォントあります?
# うちのフォントは機種依存文字部分を追加したものなのですが、
# 追加時にミスってしまったのかもしれない。

> うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^
ログ形式を
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/lall
としました。初回の出力時は
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/cache/
のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、
キャッシュが有効なら、前回作成したキャッシュを Content-Length と
Last-Modified を付けて出力します。

# だから、前の投稿者への FORM 内容が残ってしまったと。

No. 669 # yuichi [E-mail] 2000/01/19 (水) 11:40
ネットワークプログラミング勉強させていただきました。

ところで現在、無謀?にもperlで自作proxyサーバを作っているのですが
ローカルIPの接続はできるのですが、Internet側(gateway)の環境越
がうまく動かないのですが。
perlでのソケット通信においてなにかgateway等の設定があるのでしょうか?
*HTTPサーバ上でperlを動かすぶんにはhttpサーバが勝手にgatewayを越え
て接続してくれるので問題なかったのですが。httpサーバではなく直接
linuxに常駐するとうまく動きませんでした。
だれか知っている方いませんか?

*接続webサーバのIP取得にはgethostbyname関数を使用しています。
  自作proxyサーバはマルチスレッドにおいてlinuxサーバ側で常
  駐させ、クライアントのプロキシ接続要求をPort:8080で監視さ
  せています。

  ちなみにHTTPコネクションの参考にしたものは以下のサイトです。
  興味のある方は参考に。

  URL:http://www2d.biglobe.ne.jp/~gama/cgi/index.cgi

No. 670 # yuichi [E-mail] 2000/01/19 (水) 12:50
下の書き込みの件、解決しました。

当方のlinuxサーバの設定ミスにより正しくgateway設定がされていなく
見つけられなかったようです。(初歩的ミスです)
よって正しくGatewayがサーバ上で設定されていれば、gethostbyname関数
において正常に相手サーバのIPアドレスは取得できました。


これで自作Proxyは動くようになりましたが、なぜか遅い!
サーバ側への負荷はあまりなさそうなのですが画像(gif・jpg)
のデータ取得が遅く、ソケットから必ず最後のバイト読み込みに
おいてリターンがなかなか返ってこないのです。
画像データの取得にやり方があるのでしょうか?

*完成したら公開しますので勉強材料にでもしてください。
  なかなかPerl Proxyは公開されていませんので。

No. 671 # mm [URL] [E-mail] 2000/01/19 (水) 19:24
>0xEEEF ですか? それとも 0xF940 ですか?
�世蓮�0xFA40 です。0xF940 にはなにもありません。

>と見えるんですが、Windows でも同じですか? XI なんてフォントあります?
分かりやすいように、キャプチャしてみました。( XI はありません)
http://www2s.biglobe.ne.jp/~cru/test/moji01.gif
knj-tut.txt によれば、これがNEC PC-98シリーズの依存文字になってるようですね。
ウチのパソコンは、このNEC PC-98シリーズなので、PC/AT互換機でも同じように
見えるかどうかは分かりません。

ついでに、0xEEF0 や 0xFA40 付近も含めてキャプチャーしてみました。
↓オリジナルHTML
http://www2s.biglobe.ne.jp/~cru/test/moji02.html
↓ブラウザで見たキャプチャ画像
http://www2s.biglobe.ne.jp/~cru/test/moji02.gif


>のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、
むむー、まだ理解してないけど、なんかスゴいことやってる(苦笑)

No. 672 # 68user [URL] [E-mail] 2000/01/19 (水) 21:39
> 画像データの取得にやり方があるのでしょうか?
ん〜、ソースを見ないことには何とも言いがたいです。

> 0xFA40 です
ありゃ、
    http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html
の「1バイト目がF9」という記述が間違っているのかな? このページには
とてもお世話になっているので、間違っているなら feed back しておかないと。

で、115〜119区についても自動変換するようにしておきます。

> このNEC PC-98シリーズなので
98 の機種依存文字と言っても、Windows を動かすと PC/AT 機と
同じなんでしょうかね。

No. 673 # mm 2000/01/19 (水) 22:35
>の「1バイト目がF9」という記述が間違っているのかな?
文字コード表くらい、どこかにあるだろうと思って、検索したけど、意外とないですね。
ウチの漢字コード表では、間違いなく115区はFAになってます。

http://www.vector.co.jp/soft/win95/util/se102214.html
>IBM拡張文字区点コード(換算)で115区〜119区(FA40-FC4B)
という記述もありました。

やはり、
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/117-118ku.html
は、1ずつずれてるんじゃないかなぁ…
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/119-120ku.html
のFCはOKかな

>Windows を動かすと PC/AT 機と同じなんでしょうかね。
うーん、よく分かりません(苦笑)

No. 674 # goosan [E-mail] 2000/01/19 (水) 23:19
0xFA40という文字ですが、私の環境(PC/AT+Win95)では、
この掲示板上では i とは表示されず、0xEDBEと同じ文字として表示されます。
同様に viii も0xEDC5と同じになっています。
この掲示板の漢字コードはEUCのようですが、EUCの2バイト漢字の範囲は
JIS-X0208と同じで、これはシフトJISで0xEFFCまでに対応しているので、
それ以降のシフトJISコードはEUCに変換できません。
するとこの場合は、0xFA40というコードがEUCに変換されずに素通りして
しまい、その第1,2バイト目のそれぞれのトップビットを取った
0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。

No. 675 # mm 2000/01/20 (木) 01:08
>0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。
ちゃんと理解してませんが、Shift-JISの0xEDBE(日偏に春の文字)は、EUCのソース上では、
0xFAC0になってますね。
これは、0xFA40が変換されずに、第2バイトのMSBが立っただけってことかな?

No. 676 # 68user [URL] [E-mail] 2000/01/20 (木) 01:09
いえ、違うと思います>goosan

この掲示板では、入力文字列を jcode::convert を使って EUC に
変換し、EUC コードで機種依存文字のチェックをしています。

で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に
変換するようですが、これは多分間違った結果ではないかと思います。
# EUC の扱える JIS X 0208 は 94区までしか定義されていないので、
# 間違っているという表現は不適切かもしれませんが。

で、EUC の 0xFAC0 は
    http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/89-90ku.html
の `日春' という文字に相当するので、その文字が表示されている、
ってことだと思います。

で、mm さんはそれをコピーして
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=666
に書かれたので、`日春'`が自動変換され、「〓」となってしまった
ということではないでしょうか。


さて、困ったなぁ。SJIS で 95区以降 (JIS X 0208 で
規定されていない部分) の入力があった場合どうするべきか。
…と悩んで調べてみたところ、
    http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
> 注記:
> ...
> 3.NEC選定IBM拡張文字は,SJISから日本語EUCへの変換においては,
>  SJISでいったん IBM拡張文字に 変換してから日本語EUCに変換する.
    http://www.opengroup.or.jp/jvc/cde/ibmext-table.html
のように、補助漢字 (JIS X 0212) に置換するのも一つの解な
ようですね。ただ、少なくとも FreeBSD (X Window System) では
JIS X 0212 フォントはオプショナルですし、Windows ではまず
JIS X 0212 は使えないでしょうし (SJIS では JIS X 0212 は
使用できない)、現実的ではないかもしれません。

結局 jcode.pl を修正し、さらにブラウザが Windows なら
SJIS で出力、UNIX なら EUC で出力、ってことになるのかなぁ。
# …なんかどんどん深みにはまっていってるような気が (笑)

ところで、仮に mm さんが 91/92 区の i/viii を使っていたら
自動変換されたはずなのですが、mm さんがお使いの IME は
普通に i/viii を入力すると 115/116区のコードになって
しまうんでしょうか?

No. 677 # mm 2000/01/20 (木) 03:19
>普通に i/viii を入力すると 115/116区のコードになって
>しまうんでしょうか?
普通かどうかはよく知らないんですが、「いち」を漢字変換しても
大文字のIしか出て来ないので、MS-IMEの「漢字辞典」というウインドウを開いて、
「特殊文字」タグの中から小文字のローマ数字を選ぶと115区の��(i)が入力されます。

この「特殊文字」タグは、8区の罫線や13区の記号の一覧になっているんですが
(大文字のローマ数字も13区のものです)、小文字だけが115区になっています。
文字コード表というアプリケーションを使う以外に、92区の�颪鯑�力する方法
を知りません…ホントに私が知らないだけかも知れませんが(苦笑)

>で、mm さんはそれをコピーして
ピンポ〜ン!
後で調べようと思って、忘れてました(苦笑)


>で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に
>変換するようですが、これは多分間違った結果ではないかと思います。
jcode.pl の変換部分って、覗いたことなかった(苦笑)

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 678 # goosan [E-mail] 2000/01/20 (木) 09:12
そうですね。EUCだから逆ですね。JISにこだわり過ぎてしまったようです。

>この掲示板では、入力文字列を jcode::convert を使って EUC に
>変換し、EUC コードで機種依存文字のチェックをしています。
フォームが送出したデータがどういう漢字コードだったかという点も
気になります。一般にはフォームのあるページと同じ漢字コードに
なることが多いようですが、仮にそうだとすると、キーボードから
フォームに入力した際にはSJISだったのが、フォームがデータを
送出する際にはEUCに変換され、jcode'convert()が入力漢字コードの
自動判定をする際に多数決の論理でEUCと判定され、私がjcode.plを
見る限りではEUC->EUCではカナの半角<->全角変換をしない限りは
何もしないようなので、jcode.convert()でMSBが立ったことは
有り得ないようです。

No. 679 # goosan [E-mail] 2000/01/20 (木) 09:17
0xFA40がEUCに変換される際にどういう挙動をしたかという点も
問題です。書き忘れていました。

No. 680 # 68user 2000/01/20 (木) 15:24
> 補助漢字 (JIS X 0212) に置換するのも一つの解なようですね。
おっと、大きな勘違い。

この掲示板は (というより EUC-JP は) 13,89〜92 区を扱えますが、
115〜119 区の機種依存文字は全て13,89〜92 区の方にも含まれて
いるので、jcode.pl をいじって、SJIS の 115〜119区を
13,89〜92区に変換するようにすればいいわけですね。

> jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に
> 変換するようですが
昨日は確かに手もとで確認したつもりだったのですが、
今日試してみると jcode::convert(*,'euc') で、
SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。

> フォームが送出したデータがどういう漢字コードだったか
> という点も気になります。
ここも含めて再度チェックしておきます。

> 普通かどうかはよく知らないんですが、「いち」を漢字変換しても
なるほど。115〜119 区への対応は必須ですね。ありがとうございました。

> 間違いなく115区はFAになってます。
これは向うに連絡しておきます。

No. 681 # goosan [E-mail] 2000/01/20 (木) 17:43
>昨日は確かに手もとで確認したつもりだったのですが、
>今日試してみると jcode::convert(*,'euc') で、
>SJIS の 0xFA40 が 0x13C0 (たぶん) になってしまいました。
私が試してみると、0x13A1になりました。

0xFA40が自動判定でSJISとされるのは間違いないと思います。
>$re_sjis_c = '[\201-\237\340-\374][\100-\176\200-\374]';
は0xFA40を含みますから。
一方、
>$re_euc_c = '[\241-\376][\241-\376]';
では含まれません。

No. 682 # 68user 2000/01/20 (木) 18:25
あ、そうです。スクリプトが手元にないのでアレですが、
多分 0x13A1 でした。はて、昨日見た 0xFAC0 は幻であったか?

一番簡単なのは、require 'jcode.pl' して、jcode::init で
初期化された後に %jcode::s2e に115〜119区相当のテーブルを
追加することかなぁ。
# jcode.pl はいじりたくないからなんだけど、(コーディング作法
# としては) よくない…ですよね。

No. 683 # goosan 2000/01/20 (木) 20:02
私の場合、
---
#!/usr/local/bin/perl
require "jcode.pl";
while(<>) {
    &jcode'convert(*_, "euc");
    print;
}
---
この程度のスクリプトです。要は大したことやっていません。(^^;

入力が
000000 FA 40 0A
の時に、スクリプト名 kconv.pl として
% ./kconv.pl test > test.e
とした結果、
000000 13 A1 0A
という出力になりました。

No. 684 # トロピカル 2000/01/21 (金) 17:48
知っていたら教えてください。
シェルを使用してSQLPLUSのやり方についてですが、

以下の(1)のシェルからsqlplusにてORACLEに接続し
(2)のファイルのsql文を実行させたいのですが、
その時に(2)の条件文の'xxxxxxx'を(1)のシェルから引数と
して(2)に渡したいのですがどうしたら良いかわかりますで
しょうか?

また、(2)のsql文にて得た情報を(1)のシェルに与える場合
はどうすれば良いですか?

(1)aaaa.shファイル
--------------------------------------------------
sqlplus user/passward @bbbb.sql

--------------------------------------------------


(2)bbbb.sqlファイル
--------------------------------------------------
select item1 from use_table where item2 = 'xxxxxxx'

---------------------------------------------------

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 685 # 68user 2000/01/21 (金) 20:21
これは SQL の話ですか? ならば僕にはわかりません。
じゃなくて、あるファイルの内容の一部をコマンドラインの引数として
渡したり、出力結果をコマンドラインの引数として渡したり、という
ことですか? つまりシェルスクリプトの書き方を質問しているのですか?

もし後者なら、ちょっと意味が掴めないです。
    「もしファイルの内容が xxxxx だとしたら、その中から yyy の部分の取り出し、
        最終的に zzz user/passward @bbbb.sql xxxxx という風にコマンドを実行したい」
などと例を書いて下さい。

> SJIS の 0xFA40
では、なぜファイルには 0xFAC0 が書かれているんだろう?

No. 686 # gama [URL] [E-mail] 2000/01/22 (土) 02:41
逆link より遡って登場させていただきます。

どうも...参考になってうれしいです。>参考になった方

敬愛する、68user さんとこの掲示板で URL 書いていただいて感激です。


あーと、有識者系から嫌われ、UG 系からは、もっと、あぶない情報を
との声をいただく我が Web であります(^^;;;

さて、jcode.pl で、sjis と EUC との判別について...

かつて、半角カナを jcode.pl で扱いたいたかったので、
いろいろ試行錯誤した結果が、

http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm

にあります。

自分勝手に判別するルーチンを 変造しています。

ご参考になれば、幸いです。

Prev< No. 638〜686> Next  [最新発言に戻る] [過去ログ一覧]