문제 설명
Facebook "좋아요" 버튼 URL에서 일본어(비라틴어) URL 전달 실패 (Passing Japanese (non‑Latin) URLs in Facebook "like" button URL fails)
이것은 Facebook의 버그가 아니라 URL 인코딩 문제라고 생각합니다. 그러나 실제로는 확실하지 않습니다.
이 URL은 좋아요 버튼에서 실패합니다: http://www. thefraser.com/2010/11/%E5%8B%95%E7%89%A9%E3%81%A8%E3%81%AE%E6%88%A6%E3%81%84
하지만 다음은 작동합니다. http://www.thefraser.com/2010/11/carlos
내가 걱정하는 것은 이전 URL이 Facebook에서 좋아요 버튼 생성기 항목, 팬 페이지가 없다는 오류가 표시됨 주어진 URL에서.
좋아요 버튼 생성기가 내 URL 인코딩과 같은 방식으로 결함이 있다고 생각합니다. 페이스북의 '좋아요' 버튼 자체가 고장난 것이 아닌가 하는 의심이 그 이후로 영어가 아닌 URL을 가진 모든 사람들이 불평할 것입니다.
반면에 동일한 URL에 대해 동일한 URL 인코딩이 Twitter에서는 작동하므로... 흠...
해결 방법 URL 인코딩에 대한 아이디어가 있습니까? 제가 지금 사용하고 있는 것은 Microsoft.JScript.GlobalObject.encodeURI()
로, 이론적으로 JavaScript encodeURI 함수와 같은 방식으로 동작합니다.
이상한 질문입니다. 알고 있지만 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.
수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
반면에 Twitter에서는 동일한 URL에 대한 동일한 URL 인코딩이 작동하므로... 흠...해결 방법 URL 인코딩에 대한 아이디어가 있습니까? 제가 지금 사용하고 있는 것은 Microsoft.JScript.GlobalObject.encodeURI()
로, 이론적으로 JavaScript encodeURI 함수와 같은 방식으로 동작합니다.
이상한 질문입니다. 알고 있지만 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.
수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
반면에 Twitter에서는 동일한 URL에 대한 동일한 URL 인코딩이 작동하므로... 흠...해결 방법 URL 인코딩에 대한 아이디어가 있습니까? 제가 지금 사용하고 있는 것은 Microsoft.JScript.GlobalObject.encodeURI()
로, 이론적으로 JavaScript encodeURI 함수와 같은 방식으로 동작합니다.
이상한 질문입니다. 알고 있지만 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.
수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
해결 방법 URL 인코딩에 대한 아이디어가 있습니까? 제가 지금 사용하고 있는 것은Microsoft.JScript.GlobalObject.encodeURI()
로, 이론적으로 JavaScript encodeURI 함수와 같은 방식으로 동작합니다. 이상한 질문입니다. 알고 있지만 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.
수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
해결 방법 URL 인코딩에 대한 아이디어가 있습니까? 제가 지금 사용하고 있는 것은Microsoft.JScript.GlobalObject.encodeURI()
로, 이론적으로 JavaScript encodeURI 함수와 같은 방식으로 동작합니다. 이상한 질문입니다. 알고 있지만 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.
수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
그러나 어떤 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
그러나 어떤 도움을 주시면 감사하겠습니다. 내 고양이를 산 채로 잡아먹기 직전입니다.수정: 다음과 같은 다른 일본어 URL:
http:// ja.wikipedia.org/wiki/%E3%81%8F%E3%82%8B%E3%82%8A
좋아요 버튼 생성기로 실패하지 마세요. 헉!
참조 솔루션
방법 1:
I look into the source code of the given page, it seems your URL has been escaped twice in the source code:
line 125 (%E5
has been converted into %25E5
):
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.thefraser.com/2010/11/%25E5%258B%2595%25E7%2589%25A9%25E3%2581%25A8%25E3%2581%25AE%25E6%2588%25A6%25E3%2581%2584&layout=standard ...
Are you using PHP? Double check the code that generate this line. Post it here if unsure.
방법 2:
Nope, it's a bug.
Hello,
Please file a bug for this issue in bugzilla (or subscribe to an existing bug and add your information to it). Best practice is to link back to the bug in the originating forum thread to help fellow developers and Facebook engineers track the conversation and provide follow‑up.
Make sure your bug includes sample code and solid reproduction steps.
Thanks, Matt Trainer
Great. Their Bugzilla is also giving me an HTTP/500.
(by Rei Miyasaka、timdream、Rei Miyasaka)