मैं परीक्षण कर रहा हूँ पीएचपीurlencode()
बनाम जावाjava.net.URLEncoder.encode()
।urlencode() 'तारांकन' (स्टार?) चरित्र
जावा
String all = "";
for (int i = 32; i < 256; ++i) {
all += (char) i;
}
System.out.println("All characters: -||" + all + "||-");
try {
System.out.println("Encoded characters: -||" + URLEncoder.encode(all, "utf8") + "||-");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
पीएचपी
$all = "";
for($i = 32; $i < 256; ++$i)
{
$all = $all.chr($i);
}
echo($all.PHP_EOL);
echo(urlencode(utf8_encode($all)).PHP_EOL);
सभी वर्ण, दोनों कार्यों के साथ एक ही तरीके से एन्कोड करने की 'तारे का चिह्न' चरित्र कि द्वारा इनकोडिंग नहीं है के लिए छोड़कर लगते हैं जावा, और PHP द्वारा% 2A में अनुवाद किया गया। कौन सा व्यवहार 'सही' होना चाहिए, यदि कोई है?
नोट: मैंने rawurlencode()
के साथ भी कोशिश की - कोई भाग्य नहीं।
मैं एक [समान प्रश्न] कहा है (http://stackoverflow.com/questions/25085992/when-should-an-asterisk-be-encoded-in-an-http-url) करने के लिए अधिक व्यापक उत्तर पाने का प्रयास करें। –