|
>の「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 機と同じなんでしょうかね。 うーん、よく分かりません(苦笑) |
|
0xFA40という文字ですが、私の環境(PC/AT+Win95)では、 この掲示板上では i とは表示されず、0xEDBEと同じ文字として表示されます。 同様に viii も0xEDC5と同じになっています。 この掲示板の漢字コードはEUCのようですが、EUCの2バイト漢字の範囲は JIS-X0208と同じで、これはシフトJISで0xEFFCまでに対応しているので、 それ以降のシフトJISコードはEUCに変換できません。 するとこの場合は、0xFA40というコードがEUCに変換されずに素通りして しまい、その第1,2バイト目のそれぞれのトップビットを取った 0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 |
|
>0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。 ちゃんと理解してませんが、Shift-JISの0xEDBE(日偏に春の文字)は、EUCのソース上では、 0xFAC0になってますね。 これは、0xFA40が変換されずに、第2バイトのMSBが立っただけってことかな? |
|
いえ、違うと思います>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区のコードになって しまうんでしょうか? |
|
>普通に i/viii を入力すると 115/116区のコードになって >しまうんでしょうか? 普通かどうかはよく知らないんですが、「いち」を漢字変換しても 大文字のIしか出て来ないので、MS-IMEの「漢字辞典」というウインドウを開いて、 「特殊文字」タグの中から小文字のローマ数字を選ぶと115区の��(i)が入力されます。 この「特殊文字」タグは、8区の罫線や13区の記号の一覧になっているんですが (大文字のローマ数字も13区のものです)、小文字だけが115区になっています。 文字コード表というアプリケーションを使う以外に、92区の�颪鯑�力する方法 を知りません…ホントに私が知らないだけかも知れませんが(苦笑) >で、mm さんはそれをコピーして ピンポ〜ン! 後で調べようと思って、忘れてました(苦笑) >で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に >変換するようですが、これは多分間違った結果ではないかと思います。 jcode.pl の変換部分って、覗いたことなかった(苦笑) |
|
そうですね。EUCだから逆ですね。JISにこだわり過ぎてしまったようです。 >この掲示板では、入力文字列を jcode::convert を使って EUC に >変換し、EUC コードで機種依存文字のチェックをしています。 フォームが送出したデータがどういう漢字コードだったかという点も 気になります。一般にはフォームのあるページと同じ漢字コードに なることが多いようですが、仮にそうだとすると、キーボードから フォームに入力した際にはSJISだったのが、フォームがデータを 送出する際にはEUCに変換され、jcode'convert()が入力漢字コードの 自動判定をする際に多数決の論理でEUCと判定され、私がjcode.plを 見る限りではEUC->EUCではカナの半角<->全角変換をしない限りは 何もしないようなので、jcode.convert()でMSBが立ったことは 有り得ないようです。 |
|
0xFA40がEUCに変換される際にどういう挙動をしたかという点も 問題です。書き忘れていました。 |
|
> 補助漢字 (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になってます。 これは向うに連絡しておきます。 |
|
>昨日は確かに手もとで確認したつもりだったのですが、 >今日試してみると 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]'; では含まれません。 |
|
あ、そうです。スクリプトが手元にないのでアレですが、 多分 0x13A1 でした。はて、昨日見た 0xFAC0 は幻であったか? 一番簡単なのは、require 'jcode.pl' して、jcode::init で 初期化された後に %jcode::s2e に115〜119区相当のテーブルを 追加することかなぁ。 # jcode.pl はいじりたくないからなんだけど、(コーディング作法 # としては) よくない…ですよね。 |
|
私の場合、 --- #!/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 という出力になりました。 |
|
知っていたら教えてください。 シェルを使用して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' --------------------------------------------------- |
|
これは SQL の話ですか? ならば僕にはわかりません。 じゃなくて、あるファイルの内容の一部をコマンドラインの引数として 渡したり、出力結果をコマンドラインの引数として渡したり、という ことですか? つまりシェルスクリプトの書き方を質問しているのですか? もし後者なら、ちょっと意味が掴めないです。 「もしファイルの内容が xxxxx だとしたら、その中から yyy の部分の取り出し、 最終的に zzz user/passward @bbbb.sql xxxxx という風にコマンドを実行したい」 などと例を書いて下さい。 > SJIS の 0xFA40 では、なぜファイルには 0xFAC0 が書かれているんだろう? |
|
逆link より遡って登場させていただきます。 どうも...参考になってうれしいです。>参考になった方 敬愛する、68user さんとこの掲示板で URL 書いていただいて感激です。 あーと、有識者系から嫌われ、UG 系からは、もっと、あぶない情報を との声をいただく我が Web であります(^^;;; さて、jcode.pl で、sjis と EUC との判別について... かつて、半角カナを jcode.pl で扱いたいたかったので、 いろいろ試行錯誤した結果が、 http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm にあります。 自分勝手に判別するルーチンを 変造しています。 ご参考になれば、幸いです。 |
|
> 敬愛する、68user さんとこの もちっと偉い人を敬愛して下さい :-) > 自分勝手に判別するルーチンを 変造しています。 では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; |
|
前の人の FORM 内容が残ってしまうのと、cookie のデータが 間違ってたのを修正。どうかな? |
|
初めまして。CGI(perlスクリプト)のことで調べごとをしていたらたどり着きました。 ですが肝心のその調べごとについてはなかなか思ったようなページが見つからず、ちょっと困っております。 一見さんにて恐縮ですが、できたらご助言下さい。 何かというと、「HTTPの(リクエスト)ヘッダ」についてです。訳あってWebページを取得するスクリプトを自前で 用意する必要があるのですが、まさかGetだけ送るっていう横暴なことはさすがにしたくないので。。。(--; ・HTTP(要求)ヘッダの一覧+解説 ・通常のブラウザが送信しているヘッダについて といった情報が記載されているページを探しております。 もちろんcgiなどで環境変数一覧を表示させた結果(応答ヘッダ)と基本的に大差がないことは 存じておりますが、やはり一度確認しておきたいのです。 また、手法を変えて、LWPなどのモジュールでヘッダを個別設定できるかどうかなども調べてみるつもりです。 この辺の情報でも構いませんのでお願いします。 以上、大変わがままな質問ですが、よろしくお願いします。 #RFCを見ろっていうのはご勘弁下さい。(^^; |
|
> ・通常のブラウザが送信しているヘッダについて http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=658 で用は足りますか? > ・HTTP(要求)ヘッダの一覧+解説 RFC…。もし金を払ってもいいなら http://www.oreilly.co.jp/BOOK/webcli.htm > LWPなどのモジュールでヘッダを個別設定できるかどうか とりあえず perldoc LWP::UserAgent perldoc HTTP::Headers perldoc HTTP::Request perldoc URI::URL を御一読下さい。 |
|
>> 自分勝手に判別するルーチンを 変造しています。 > では早速拝見…と思ったら、getcode.pl が not found なようで…(^^; Link 直しました(^^;;; http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm |
|
http://www2d.biglobe.ne.jp/~gama/cgi/jcode/k-jis.htm こちらのページなんですが、JISで8bitの半角カナを使っている ようですが、ESC ( I で7bitのカナを使うのが普通だと 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは 見えるのですが(半角カナも)、ここだけ化けてしまいます。 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
> こちらのページなんですが、JISで8bitの半角カナを使っている > ようですが、ESC ( I で7bitのカナを使うのが普通だと > 思うのですが。学校のFreeBSD-3.3+NC4.7ではSJISやEUCのページは > 見えるのですが(半角カナも)、ここだけ化けてしまいます。 あ、なるほど、現在のは手許の Win95 上のエディタでコード変換を 処理した結果なので、多分半角カナが 8bit なんですね。 ずーっと、それでいいと思いこんでました。 7bit 半角カナとかいうと、20 年以上くらいの規格という思いこみがあった わけです。 > 家の環境(Win95+NN3.04)ではここも文字化けしていないのですが、 > ソースを見た時、半角カナの部分だけJISが化けていないので 気になっていました。 |
|
ゲーム系掲示板を作ってみたので使ってみて |
|
PC上で、C++で作成したDLLを、UNIX上で使えるようにしたいのです。 どのようにしていけばよいか、教えてください。 C++内でどのような変換を行い、UNIX上にてコンバートすればよいのでしょうか? |
|
質問があります。よろしくお願いします。 % ls ファイル名 とした時に該当ファイルが無かった場合 ls:No match. と出ますがこのメッセージを出さない方法が ありましたら教えて下さい。 |
|
> C++で作成したDLLを、UNIX上で使えるようにしたいのです。 Windows は全く知りませんが (DLL ってランタイムライブラリ ですよね? というくらいしか知らない)、DLL を UNIX に 持ってくるのはさすがに無理でしょう。 C++ のソースを持ってきて、ar でアーカイブ作るか、ld で ランタイムライブラリを作るのがまっとうな方法だと思います。 > ls:No match. > と出ますがこのメッセージを出さない方法 「No match」が出るのは 「tcsh で、ワイルドカードを使って、マッチしなかったとき」 だと思いますが、 % (ls hoge* >/dev/tty) >& /dev/null で、標準エラー出力をリダイレクトするとか、 % set nonomatch % ls hoge* として、マッチしなかったときにエラーにさせないようにするとか、 % set noglob % ls hoge* として、最初からワイルドカードを展開させない、などの方法があります。 |
|
はじめまして。 perlでメールを受信する方法を調べていたところ、こちらの掲示板を 発見しました。 お尋ねしたいことは、pop3サーバーからメールを受信し、そのメールの 添付ファイルをWindowsのフォルダに保存する方法です。 UNIXやCGIの経験が全く無い素人なもので、なかなかうまくいきません。 参考になるURLや書籍等もありましたら教えていただけないでしょうか。 OSはWindowsNT4.0又はWindows95です。 宜しくお願いします。 |
|
POP へのアクセスは http://X68000.startshop.co.jp/~68user/net/ を読んで下さい。 multipart メールをバラすのは、perl の MIME-tools モジュールで できそうな感じです (試したことないので)。わからなかったら また質問して下さい。 |