URLクエリ文字列で使用できる文字は何ですか?
クエリ文字列は特定の形式に従う必要がありますか?
あたり http://tools.ietf.org/html/rfc3986
セクション2.2予約文字には、次の文字がリストされています。
予約済み= gen-delims/sub-delims
gen-delims =“:” /“ /” /“?” /“#” /“ [” /“]” /“ @”
サブデリム=「!」 /“ $” /“&” /“ ’” /“(” /“)” /“ *” /“ +” /“、” /“;” /“ =”
仕様はそれから言う:
URIコンポーネントのデータが区切り文字としての予約文字の目的と競合する場合は、URIを形成する前に、競合するデータをパーセントエンコードする必要があります。
次に、セクション2.3予約されていない文字に、以下がリストされています。
unreserved = ALPHA/DIGIT /“-” /“。” /「_」/「〜」
ウィキペディアにはあなたの答えがあります: http://en.wikipedia.org/wiki/Query_string
"URLエンコード:一部の文字はURLの一部にすることができず(たとえば、スペース)、その他の一部の文字はURLで特別な意味を持ちます:forたとえば、文字#を使用して、ドキュメントのサブセクション(またはフラグメント)をさらに指定できます。文字=は、名前と値を区切るために使用されます。これらの制約を満たすために、クエリ文字列を変換する必要がある場合があります。 URLエンコードと呼ばれるスキーマを使用して行われます。
特に、クエリ文字列のエンコードには次のルールが使用されます。
チルダ( "〜")文字に対応するオクテットは、古いURI処理の実装では "%7E"としてエンコードされることがよくあります。 「%7E」は、解釈を変更せずに「〜」に置き換えることができます。 SPACEを「+」としてエンコードし、「現状のまま」の文字を選択すると、このエンコードはRFC1738と区別されます。」
形式に関しては、クエリ文字列は名前と値のペアです。 ?クエリ文字列をURLから分離します。名前と値の各ペアはアンパサンド(&)で区切られ、名前(キー)と値は等号(=)で区切られます。例えば。 http://domain.com?key=value&secondkey=secondvalue
私が提供したウィキペディアリファレンスのStructureの下:
このリンクには、必要な答えとフォーマットされた値があります。
https://perishablepress.com/url-character-codes/
あなたの便宜のために、これはリストです:
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
| %7C
\ %5C
^ %5E
~ %7E
[ %5B
] %5D
` %60
; %3B
/ %2F
? %3F
: %3A
@ %40
= %3D
& %26
$ %24
+ %2B
" %22
space %20