บน OSX เมื่อฉันพยายามเปิด url ที่มีแฮช#
มันจะถูกแปลงเป็น% 23 และล้มเหลว ตัวอย่างเช่น,
จากพรอมต์คำสั่ง
$ open "https://translate.google.com/#auto/en/ру́сский+язы́к"
ให้ฉันError 404
จาก google
The requested URL /%23auto/en/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9+%D1%8F%D0%B7%D1%8B%CC%81%D0%BA was not found on this server. That’s all we know.
สิ่งเดียวกันนี้เกิดขึ้นจาก Applescript เช่นกันเมื่อฉันใช้open location
คำสั่ง
สิ่งนี้เกิดขึ้นในตอนท้ายของฉันหรือจากกูเกิล ฉันจะทำให้ URL เหล่านี้ทำงานได้อย่างไร ตามคำตอบนี้ควรทำงาน
แก้ไข:
ผมปิดการใช้งานการเชื่อมต่ออินเทอร์เน็ตของฉันแล้วพยายามที่จะเปิด URL ข้างต้นและผลที่ได้รับการเดียวกันก็กลายเป็น#
%23
ลองใช้ Chrome ฉันใช้ Firefox ด้วยและผลลัพธ์ก็เหมือนกัน ดังนั้นการเปลี่ยนแปลงจึงเกิดขึ้นโดย OSX เอง
โดยวิธีการถ้าคุณคัดลอกและวางด้านบนลงในเบราว์เซอร์ของคุณมันจะทำงานได้ดีดังนั้น url ก็ดีเหมือนเดิม
สุดท้ายนี้ฉันใช้ Snow Leopard (10.6.8)
แก้ไขแล้ว : ตามคำตอบด้านล่างสตริงการสืบค้นต้องถูกเข้ารหัส หนึ่งซับในคำตอบนี้ช่วย
/bin/echo -n "some foreign text" | php -r "echo urlencode(file_get_contents('php://stdin'));"