|
どうも皆さん始めまして。 私は最近Cygwinでプログラミングの勉強を始めました。 Linuxのことはまだほとんどわからないので2つ同時に 勉強しなければならないので大変です(^_^;) で、インターネットで拾ってきたいろんなサンプルソースを コンパイルして遊んでるんですが、LinuxとWin32での ソースレベルでの互換性に疑問があります。 たとえば、あるサンプルソースの場合、シリアルポートにアクセス するのに #makefile SERIALDEVICE = /dev/ttyS0 #tool.c /* setup serial port */ void open_serial(char *devicename) { struct termios newtio; dfd = open(devicename, O_RDWR | O_NOCTTY); if (dcfd < 0) { perror(devicename); exit(-1); } open_serial(SERIALDEVICE); という具合にデバイスをオープンしているのですが、 このソースをWin32アプリとしてコンパイルしても当然(?)動きません。 で、SERIALDEVICEの部分を COM1 に変えて見たのですが、これも 動きませんでした。 他のファイルやソースを眺めてみても、良くわからないのですが、 この場合、Win32で動作させるにはどのようにすべきなのでしょうか? |
|
ども、はじめまして。雅人と言います。 質問なのですが 掲示板をつくろう(1)でperlを書くならEUCで書くべきと 書かれてたのでSJIS(CRLF)からEUC(CRLF)に変換したところ 逆に文字化けが起こってしまいました。 ローカルな環境(win95)でもアップロード先(virtualave.net) でも文字化けが起こってしまいます。 これの原因とは一体なんなのでしょうか? よろしくお願いします。 |
|
超メール初心者あらため宗佑です。 procmailの転送設定、自己解決しました。 記述が足りなかっただけでした。 うーん、奥が深いですね、メール転送。 これからスクリプトを徐々に複雑にしていこうと思います。 でもprocmailを記述しているHPって少ないものなんですね。 載っている例も基本的なものです。 私も自分で試している途中ですが、procmailの達人みたいな例の 載っているHPをどなたかご存知内でしょうか? お願いいたします |
|
@雅人さん > ローカルな環境(win95)でも メモ帳などのエディタで化ける、ということならば EUC を読めるエディタを入手して下さい。 > アップロード先(virtualave.net) でも ブラウザの文字コード設定を「日本語 EUC」として直るならば、 CGI の出力する日本語部分が短かすぎるため、ブラウザが 文字コードを正しく解釈していないのでしょう。その場合は、 print "Content-type: text/html\n\n"; を print "Content-type: text/html; charset=EUC-JP\n\n"; として下さい。 @宗佑さん > でもprocmailを記述しているHPって少ないものなんですね。 > 載っている例も基本的なものです。 確かに少ないですね。僕もあまり見かけたことがありません。 ただ、基本的なところをわかっていれば procmailrc(5) と procmailex(5) でなんとかなることも多いです。 @Madstar さん うーん、さっぱりです。シリアルポートの操作さえしたことがないので…。 |
|
> print "Content-type: text/html; charset=EUC-JP\n\n"; > として下さい。 というより、Content-type ヘッダには EUC-JP/Shift_JIS/ISO-2022-JP などの charset を付加 *すべき* です。 僕のところの CGI プログラムには一部にしか付いていませんが、 これは悪い CGI の見本です。必ず charset を付けましょう。 |
|
どうも、ありがとうございました! 無事できました。 |
|
みなさん、はじめまして。海苔王と申します。 現在、ソラリス7でサーバーを構築しています。 apache,sendmail,popper と動かしてきて、昨日までは メールが動いていたのですが、突如、受信ができなくな ってしまいました。電八で出たエラーは以下のとおりです。 +OK QPOP (version 3.0.2) a ******starting. C: USER *** S: +OK Password required for ****** C: PASS ******** S: -ERR [SYS/TEMP] maillock error 3: '/usr/mail/*****' といった内容でした。sendmail.def からいろいろ見直したのですが、 うごきませんでした。どうかアドバイスお願いします。 |
|
チェック項目を思い付くままに。 1. /var/log/messages や /var/log/maillog に詳細なエラーは出ていないか 2. /usr/mail/ のパーミッションがおかしくなったのではないか (ls -ld /usr/mail) 3. /usr/mail/ にロックファイルらしきものは残っていないか (ls -lA /usr/mail) 4. ディスクの残り容量は (df -k)。i-node space が枯渇していないか (dk -ki) 5. ソースから grep maillock して、エラー箇所を捜し出す あと重要なのが、全ユーザでメールを取得できないのか、 一人だけメールを取得できないのかってこと。全ユーザなら 1,2,4 あたり。一人だけなら 3 をチェック。 ってな感じでしょうか。 |