データの受け渡し(CGI)

[戻る]
モグモグ 2002/12/03(火) 15:24:14
たびたびすみません
C言語を利用したCGIの勉強をしています。
環境はwindowsNT4.0 apacheを使用しています。

HTMLからPOSTでデータを渡し、受け取りにはgetchar()を使用しています。
半角英数文字の受け渡しはできたのですが、日本語などが遅れません。
どうすればよろしいのでしょうか?
教えてください。
お願いします。

tib 2002/12/03(火) 17:05:35
>半角英数文字の受け渡しはできたのですが、日本語などが遅れません。
送れない(の誤変換ですよね)とは?

abcdeあいうえお12345という文字列を渡したら「abcdef12345」になると?

もっとしっかり、「なにを、どういう手順で、どうやったら、こうなると期待していたの
に、こんなになってしまった」というような感じでご自分の状況を包み隠さず教えてくだ
さらないと答えようがありません。

モグモグ 2002/12/03(火) 17:40:15
すみません。
掲示板を使った事がなかったので、しっかりとしたことを伝えなければいけませんね。
これから気をつけます。
画面1 HTML テキストボックスとボタンのみ。
画面2 CGI  表示のみ。
「1234abcdあいうえお」と入力して次の画面に移動すると
「1234abcd%82%A0%82%A2%82%A4%82%A6%82%A8」
と表示されてしまいます。
どうすれば表示されるのでしょうか?
お願いします。

tib 2002/12/03(火) 20:22:03
「日本語などがエンコードされている」ということですね。

%のあとに16進表記で書かれているので、入力文字列の中に「%」を見つけたら後続の2文
字を16進数に変換してあげるといいでしょう。「%82%a0」なら「0x82, 0xa0」というように。

モグモグ 2002/12/04(水) 08:51:06
[[解決]]
ありがとうございました。
CGIでは、データの受け渡しだけでもいろいろな処理をしなくては
ならないのですね。ASPやJSPよりも難しいですね。
がんばります。
お世話になりました。
これからも宜しくお願いします。

古いスレッドには追加発言できません。