안드로이드 웹이미지를 가져오는 작업을 하고있는데 특정 url에서 이미지가 불러와지지 않습니다.

조회수 1592회

다른 url들과 통신을 통해서 사진을 불러오는 것은 정상적으로 처리가 됩니다만 예를 들어서 한글이 포함되어있는 url (예를들어서 http://site/directory/한글.jpg) 같은경우에 이미지가 불러와지지 않습니다. 혹시나해서 크롬으로 이 url을 접속을 했는데 크롬에서는 이미지가 잘 나타납니다. 한글이 포함되어있는 url의 경우에 별도의 인코딩 처리가 필요한건가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 서버에서 사용하는 인코딩 형식으로 인코딩하여 요청하셔야 합니다.

    예를 들어 서버에서 인코딩을 UTF-8 로 할 경우 아래와 같은 방법으로 할 수 있습니다.

    String imageName = URLEncoder.encode("한글.jpg", "UTF-8");
    
    //Glide를 사용하여 http://site/directory/한글.jpg 의 이미지 불러온다면
    Glide
            .with(context)
            .load("http://site/directory/" + imageName)
            .into(imageView);
    

    URLEncoder 의 주요 내용은 아래와 같습니다.

    1. a-z, A-Z, 0-9 의 문자는 유지합니다.
    2. ".", "-", "*", "_" 의 문자는 유지합니다.
    3. " "의 공백 문자열은 "+"로 대체합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)