[워드프레스] IE 주소창에서 한글 URL이 깨져 보이는 경우

인터넷 익스플로러 주소창에서 한글 URL이 깨져 표시되는 문제

방금 Internet Explorer 문제에 대한 Hackya 사이트의 새로운 글을 보고 여러 가지 사실을 알게 되었습니다. 특히 IE에서 한글 URL이 깨져 보이는 문제가 IE의 문제라고 하네요.

저는 IE 11을 주로 사용하고 있는데, 한글 URL의 경우 크롬이나 심지어 오페라에서도 제대로 표시되지만 유독 IE에서만 깨져 보입니다. 혹시나 해서 urldecode()get_permalink()에 적용해보니 IE 11에서 한글 URL이 깨지지 않고 잘 표시되네요. 다른 IE 버전에서는 테스트해보지 않았지만 아마 제대로 표시되지 않을까 생각됩니다.

다만 현재로서는 블로그 글(single.php)에서만 수정했기 때문에 다른 글 유형(예: bbPress, Kboard 게시글 등)에서는 그대로 한글이 깨져 보일 것 같습니다. 시간이 되면 그 부분도 찾아서 수정해주면 될 것 같습니다. 참고로 저는 현재 Pluto라는 테마를 사용하고 있는 데 content.php 파일에서 한 군데를 수정했습니다.

<h4 class="post-title entry-title"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h4>

위의 라인을 다음과 같이 수정했습니다.

<h4 class="post-title entry-title"><a href="<?php echo esc_url( urldecode(get_permalink()) ); ?>"><?php the_title(); ?></a></h4>

실제로 수정해야 하는 파일이나 내용은 사용 중인 워드프레스 테마에 따라 다릅니다.

그리고 동일한 방법을 페이지 템플릿 등에 적용하면 IE 주소창에서 한글 URL이 깨져 보이는 문제가 해결 될 것이라 생각됩니다.

♠ 하지만 이 경우에도 다른 페이지나 다른 사이트에서 링크를 클릭하여 한글이 포함된 URL에 접속하면 URL이 디코딩 과정을 거치지 않았기 때문에 IE 주소창에서 깨져보입니다. 즉, 이 방법은 근본적인 해결책은 될 수 없고 미봉책이라 할 수 있습니다. 근본적으로 문제가 해결되려면 마이크로소프트사에서 비라틴어(non-Latin) 문자가 제대로 표시되도록 코어를 수정해주어야 할 것입니다.


2개 댓글

  1. 본문에서 밝혔듯이 IE 주소란에서 한글 URL이 깨지는 것은 워드프레스 문제가 아니라 IE의 문제입니다.
    티스토리에서도 URL에 한글이 들어가면 깨져나옵니다.

    예:

    http://avada.tistory.com/entry/%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%97%90-www%EA%B0%80-%EC%9E%88%EB%8A%94-%EA%B2%83%EA%B3%BC-%EC%97%86%EB%8A%94-%EA%B2%83-%EC%96%B4%EB%8A%90-%EA%B2%83%EC%9D%B4-SEO%EC%97%90-%EC%9C%A0%EB%A6%AC%ED%95%A0%EA%B9%8C

  2. 위의 방법이 번거로운 경우 JT Internet explorer URL(https://wordpress.org/plugins/jt-internet-explorer-url/ )라는 플러그인을 사용할 수 있습니다.

    테마가 문서를 get_permalink() 함수를 사용해서 불러오는 경우에만 작동히자만, 최근 몇 년간 공개된/시판된 테마는 거의 다 get_permalink() 함수를 사용하기 때문에 작동되지 않는 테마가 없을 거라고 하네요. 다만, get_permalink() 함수를 사용하지 않는 일부 링크는 제대로 작동하지 않을 수 있습니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.