Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

Tag를 작성하는데 어떤 특정 문자들은 적용이 되지를 않고 출력이 되지 않거나 오류를 일으킵니다.

제 호스팅 홈피만 그런지 이상해서 질문 남깁니다.

제가 해본 특정 문자들은 꽃, 빛 정도입니다.

꽃 태그를 클릭하면 아래와 같이 한자가 출력이 되면서 리스트가 출력이 되지를 않습니다.

Screenshot 2024-04-05 at 21.20.43.JPG

다른 한글 이나 영문은 잘 작동합니다.

 

xetown에서는 잘 작동하네요ㅠㅠ 

TAG •
  • profile
    board/search/tag/꽃
    잘되네요
    게시판 스킨은 기본 스킨이고
    버전은
    Rhymix 2.1.14
    php 8.3
    입니다.
  • profile

    한글이 깨지는 것은 대부분 어딘가에 EUC-KR 등의 다른 인코딩이 끼어들었기 때문입니다.

    호스팅 서버 기본 설정, DB 등 모든 것이 UTF-8로 되어 있어야 하는데,

    어떤 호스팅 업체는 UTF-8 상품을 신청해도 주소의 일부 글자들을 EUC-KR로 강제 변환해 버리는

    세상 쓰잘데기없는 짓을 하는 것을 목격한 적이 있습니다.

  • profile ?
    시스템 설정에서 "모든 주소 형태를 사용"하면 그렇고 " XE와 호환되는 주소 형태만 사용" 하면 정상적으로 출력됩니다. 이것도 호스팅의 문제일까요?
  • ? profile

    네, .htaccess에 이상한 기능을 넣으신 적이 없다면 100% 호스팅 문제입니다.

    지금도 https://도메인.co.kr/xemy/test/꽃 이렇게 한글이 포함된 주소를 임의로 쳐보면 깨지는 현상을 볼 수 있습니다. 이 때 오고가는 패킷을 뜯어보면 라이믹스는 전혀 관여하지 않고, 아파치가 301 리다이렉트를 발생시킵니다. (PHP를 실행하면 특유의 헤더가 붙는데, 그 헤더가 없으므로 라이믹스는 결백합니다.)

    실제 브라우저가 한글 주소를 요청할 때는 "꽃"이라고 한글을 그대로 넣는 것이 아니라, 절대 오해의 소지가 없도록 https://도메인.co.kr/xemy/test/%EA%BD%83 이렇게 인코딩을 해서 전달합니다. 그런데 이 주소를 쳐봐도 서버에서 친절하게(?) 멀쩡한 아스키 코드들을 제멋대로 변환해서 리다이렉트 해줍니다.

    위 댓글에서 말씀드린 세상 쓸데없는 뻘짓을 하는 서버가 바로 여기 있었네요.

    XE 방식의 주소를 사용하면 정상적으로 처리되는 이유는, "?" 문자를 기준으로 앞에 있는 한글만 이상하게 변환하고 뒷부분은 건드리지 않기 때문입니다. 예를 들어 https://도메인.co.kr/xemy/search/tag/꽃?search_target=tag&search_keyword=꽃 이렇게 앞뒤에 모두 한글이 있는 주소를 임의로 만들어서 접속해 보면, 앞에 있는 "꽃"자만 깨지고 뒤에 있는 것은 정상적으로 나옵니다. 뻘짓을 하려면 일관성있게 할 것이지;;;

  • profile ?
    좋은 답글 감사합니다.
    호스팅에 문의를 해 봐야 겠네요.