初めて作ったCGIと文字コード
サーバーをロリポップにしたら故障してしまった人工無能の解決策としてイチから自分で作るという無謀なことを始めた。始めたと言ってもまだまだ全然足をつっこむことさえできていない。見様見真似で簡単なHTMLを出力することはできた。

初めての自作CGI「(いつか)人工無能(になるかもしれない)BonoBOROT」

たったこれだけでもやれ文字化けだのやれ500エラーだの大騒ぎである。ダブルクォーテーションの直前にバックスラッシュを入れることをよく忘れる。文字化けの原因やなぜ直せたかがよく分からない。定番のファイル送信時のASCIIモードの確認やファイル保存や改行などいろいろ試すうちに直るのだが、どのタイミングで直ったか把握できていない。よく観察する習慣をつけたい。

文字コードの扱いは本当に分からない。ファイルを開くとき、記述するとき、保存するとき、いつどこでどうなるのかさっぱり見当がつかない。コードの中で文字コードを指定してもその通りにならない。

CGIのコードの貼り付けはCarbonというサービスを利用した。内容はともかくソレっぽくなって嬉しい。このブログにはどうしてもコードを貼り付けられない。コードを張り付ける作法を色々試してみても403エラーになってしまう。

私が人工無能に拘る理由は、やはり昔の個人ホームページに付き物のイメージがあってどうしても設置したい。いま話題のAIとも違うところが面白い。それから、とんでもない身の程知らずだと十分承知の上での話になるが、設置した人工無能のCGIは一つのファイルで動いていてソースもあまり長くない、だから内容を理解すれば自分でも作れるのでは…などと生意気なことを考えている。ソースが短くまとまっているのは技術力による賜物だろうとは思う。その方面のことは疎いがそう思う。それでも何だかゼロから挑戦してみたいのだ。


【文字コードの疑問】UTF-8で保存されたファイルをUTF-8を基本とするエディタでUTF-8として開くときに「このファイルはUTF-8であるがShift-jisに変換できない文字を?として置き換えた」と表示される。さっぱり理解できない。辛い。
alt

【追記】「Vimで文字コードを指定する」 ここを読んで少し知恵がついた。
sendmailとGmail
sendmailが使えるかどうか。試しにここにコメントがあったときにメールで通知される設定をした。宛先はGmail。ところがメールが来ない。と思ったら迷惑メールに振り分けられていた。しかもMail Delivery Systemからのメッセージ付き。ここのドメインのsendmailが認証されていないのでエラーだという(英文)。受信できないというのにコメント内容は含まれている。コメントがあったことが判ればそれで用は足りるが、まあ、改善しておく。

このエラーを解決するにはSPFやDKIMの設定が必要と書かれている。難しそう。ドメインのDNS TXTレコードを更新する作業は経験あるが全然理解していないのだ。うーん…。これはやめて他の手段を試すことにした。

sendmail専用のメールアドレスを一つ作ることにした。それをGmailではない他のメールアプリで受信させる。スマホで通知を受け取りたいのでスマホのOutlookにPOP3で追加した。このブログからコメントを投稿。メールが届かない。sendmailの設定に間違いは無い。試しにメールフォームのCGIのcheck.cgiをインストールしてチェックするとパスは通っている。何度やっても届かない。またしても迷惑メールに振り分けられていた。なんだ、ケアレスミスか。迷惑メールから外して再度挑戦。コメント通知メールは届くがOutlookの受信通知が鳴らない。通知の許可はオンなのに鳴らない。Outlookが指定している〝デフォルトの通知音〟という音声ファイルが無くて(?)無音だった。音が鳴らなくても通知ドットくらい出てくれてもいいのにそれも表示されない。難しいなあ。通知音を指定しなおしてやっとコメント投稿のメールをスマホで通知させるという目的を果たせた。

簡単なことのようでいても色々躓いてしまう。

- CafeLog -