HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0626
xariaHSP → PHPへ改行入り文字の送信5解決


xaria

リンク

2013/6/26(Wed) 21:37:14|NO.55265

以前、
http://hsp.tv/play/pforum.php?mode=all&num=54727

にて質問させて頂いたものですが、 HSPからPHPへ変数testを送る際に改行文字が入ってると 「\n」の前しか送信されてないようなのですがなぜだかわかりません。 HSPだけの話ではないので申し訳ないですがお願い致します。 【HSP側】
#include "hspsock.as"
sdim get,1000

/* 送信したい変数 */
test = "1234789\n1234"

sockopen 0, "localhost", 80
sockput "GET /test.php?test="+test+" HTTP/1.0 \n", 0
sockput "Host: localhost\n"
sockget get,1000,0
sockclose 0
mesbox get,400,400




この記事に返信する


xaria

リンク

2013/6/26(Wed) 21:41:10|NO.55266

作成途中で間違って送信を押してしまいました・・

【HSP側】

#include "hspsock.as" sdim get,1000 /* 送信したい変数 */ test = "あいうえお\nかきくけこ" sockopen 0, "localhost", 80 sockput "GET /test.php?test="+test+" HTTP/1.0 \n", 0 sockput "Host: localhost\n" sockget get,1000,0 sockclose 0 mesbox get,400,400


【PHP側※localhost/test.php】

<?php header('Content - type: text/html; charset=UTF-8'); ?> <?php echo "変数testの中身は"; $test = $_GET['test']; echo $test; ?>

上記を実行すると表示は
あいうえお
のみだけになってしまいます。
HSPだけの問題ではないかもしれず申し訳ないですがお願い致します。



xaria

リンク

2013/6/26(Wed) 21:44:36|NO.55267

しかもなぜか解決ボタンまで・・



inovia

リンク

2013/6/26(Wed) 21:56:37|NO.55269

HTTPリクエストヘッダは行で管理されているので、
途中で改行が入るとそこで途切れてしまいます。
渡す文字列をURLエンコードしてあげれば、上手くいくはず。


#include "hspinet.as" test = "1234789\n1234" urlencode uenc, test mes uenc

あと、今は数字だけなので大丈夫ですが、
HSP側の標準の文字コードがShift_JISで、PHP側がUTF-8になっているので、
日本語を渡したときに文字化けを起こす可能性があります。

統一したほうが良いと思います。



inovia

リンク

2013/6/26(Wed) 22:18:58|NO.55271

よく見たら、


header('Content - type: text/html; charset=UTF-8');

ではなく、


header('Content-type: text/html; charset=UTF-8');

かな。
Content-type の - の間はスペースを入れてはいけません。Content-typeが無視されます。
たぶん、この修正を入れると日本語が文字化けるようになるはず。

文字コードが違うのに日本語が文字化けしている様子がなかったのは、
Content-typeが記述ミスにより無視され、ブラウザ側が自動で文字コードを判定したからですね。
ただ、判定を誤ることもあるので、Content-typeで文字コードを指定しておくのが無難でしょう。



xaria

リンク

2013/6/27(Thu) 01:32:14|NO.55273

inovia様 >>
またも、助けられてしまいました。。
urlencodeにてエンコード状態で送ったところ無事に改行も反映されました!
「\n」をPHP側で「<br/>」に変えてみたりと色々してダメだったので
ほんと助かりました!
まさか「\n」で切り離されるなんて・・



ONION software Copyright 1997-2023(c) All rights reserved.