初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-04-02 09:28:29

barikan
Guest

fmpプロトコルへのsubmit時の文字化け

お世話になっております。

「Webビューア」

<body>
	<form action="fmp://ipaddress/database">
		<input type="text" name="$param1">
		<input type="submit">
		<input type="hidden" name="script" value="websubmit">
	</form>
</body>

「スクリプト」

カスタムダイアログを表示 [$param1]

Webビューアからformのsubmitでfmpプロトコルを使ってパラメータを渡そうとしています。
入力内容が英語の場合は問題なく変数$param1に渡されるのですが、
日本語を入力すると文字化けしてしまいます。
文字化けさせないにはどのようにしたら良いでしょうか?

FMProA13
Win7

#2 2014-04-02 19:17:06

qb_dp
Member

Re: fmpプロトコルへのsubmit時の文字化け

以下の様なカンジでイケました。

Form送信は、URLエンコードしているはず?なのですが、よく分かりませんね。
JavaScriptでいったんURLエンコードしてから送信すれば文字化けは、解消されました。

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function fire(){
var param=document.getElementById("param").value;
document.getElementById("enc_param").value=encodeURI(param);
document.form.submit();
}
</script>
</head>
<body>
	<form name="form" action="fmp://ipaddress/database" method="get">
		<input type="text" id="param" value="あいうえお">
		<input type="hidden" id="enc_param" name="$param1">
		<input type="hidden" name="script" value="websubmit">
		<input type="button" onclick="javascript:fire();" value="ENC送信"></input>
	</form>
</body></html>

Offline

#3 2014-04-03 01:55:39

Hiro
Member

Re: fmpプロトコルへのsubmit時の文字化け

> Form送信は、URLエンコードしているはず?なのですが、よく分かりませんね。
環境無いのでただの傍観者ですが、変テコですね?
fmp:でForm送信の例示ガイドを見たこと無いので、FMはgetだけしか受信できないのかも?
Form送信でもmethod="Get"として解されるため、urlエンコードが必要なのかな、

Offline

#4 2014-04-03 07:09:30

wader
Member

Re: fmpプロトコルへのsubmit時の文字化け

プロトコルがhttpじゃないので、GETもPOSTもありません。URL自体を受け取るだけです。

コマンドラインでやるときはエンコードなしでよかったはずだけど

Offline

#5 2014-04-08 09:29:23

barikan
Guest

Re: fmpプロトコルへのsubmit時の文字化け

返信有難うございます。

こちらでも試してみましたが、結局javascriptで小細工するしか方法が見つかりませんでした。

var param = "";
//各パラメータを収集
location.href = "fmp://ipaddress/database?" + param;

これだとproでもgoでも使えました。

WebビューアはFileMakerよりも表現力が優れているのは良いのですが、
連携が難しいのでFM社になんとかしてもらいたいところです。

#6 2014-04-08 09:45:43

tim
Guest

Re: fmpプロトコルへのsubmit時の文字化け

barikanさんのHTMLはエンコードを明示してませんけど、何ですか?data:じゃなくWEBサーバがあるんですよね?
UNICODEのまま渡せばOS側でエンコードする(かそのまま16ビットでFMに渡る)ということなのかな。

#7 2014-04-08 15:09:06

barikan
Guest

Re: fmpプロトコルへのsubmit時の文字化け

Webビューアでdata:text/htmlを使いました。

#8 2014-04-08 15:58:36

tim
Guest

Re: fmpプロトコルへのsubmit時の文字化け

data:だと、Windowsでは実際はfile:になってるので、ますますよくわからない。

HTMLの規格ではFORMのACTIONで
HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない
となってるみたいです。
submitするよりhrefを書き換える方が安心かも。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 555.64 KiB (Peak: 579.14 KiB) ]