URL에 파일 이름 인코딩을 구현하려고하는데 uri_escape 및 uri_escape_utf8에 이상한 문제가 발생합니다. 불규칙하게 동작하는 것으로 보입니다. 펄 명령 줄 사용Perl uri_escape_utf8 일관성없는 동작 (또는 프로그래머 오류!)
:
[email protected]:$ perl
use URI::Escape;
print uri_escape_utf8("\"quotes\"_in_a_filename.pdf");
%22quotes%22_in_a_filename.pdf
완벽한을, 내가 원하는 그냥 뭐. 그럼 내 코드 :
print STDERR uri_escape_utf8("\"quotes\"_in_a_filename.pdf");
print STDERR uri_escape("\"quotes\"_in_a_filename.pdf");
이 다음 줄 점점 내 응용 프로그램 로그 파일에 결과 :
"quotes"_in_a_filename.pdf
"quotes"_in_a_filename.pdf
는 이상하게도, 응용 프로그램의 코드와 동일한 비트가 공백이있는 파일 이름과 함께 완벽하게 잘 작동을하고 (예를 들어)이 제대로 출력 :
my%20pdf%20with%20spaces.pdf
나는 다소 당황하고 및 솔루션에 대한 다음 볼 위치를 알 수 없습니다. 도움을 주신 모든 분들께 감사드립니다.
건배,
R
첫 번째 예제 프로그램을 실행하면 "_in_a_filename.pdf"따옴표가 표시됩니다. – daxim