Home 게시판 커뮤니티 Q&A Contact Form 7 파일첨부 전송 문제

12개 답변, 4 voices Last updated by Avatar of Matthew ParkMatthew Park 7 years, 7 months 전
  • Avatar of 최남규최남규
    Participant
    @yaotome2
    #36706

    안녕하세요 워드프레스를 접하게 되면서 처음으로 홈페이지를 만들고 있습니다.

    다름이 아니라 Contact Form7 사용 관련해서 문의를 드리고자 합니다.

    Contact Form 7 및 WP-Mail-SMTP 플러그인을 설치하여 메일 전송까지는 하였으나

    파일 첨부 시 파일명에 한글이 들어가면 ‘-1’이라는 파일명으로 메일이 전송되게 됩니다.

     

    서버 설정도 utf-8로 되어 있고 phpMyAdmin 설정도 utf8mb4로 설정되어 있는데

    Contact Form DB 플러그인을 설치해 전송되는 메일을 확인해봤더니

    DB 저장시에도 파일명이 ‘-1’로 저장되더군요

    아 그리고 미디어의 파일 올리기에서도 한글파일명은 업로드가 되지 않네요

     

    이부분으로 봐서는 메일 전송 시 문제가 아니라 DB 저장 시에 문제가 되는것 같은데…

    혹시나 의심가는 부분이나 확인해야 될 부분 있으면 알려주시면 감사하겠습니다.

    Avatar of 최남규
    Cool Guy
    Avatar of 아이디어피플아이디어피플
    Participant
    @ideapeople
    #36712

    혹시 윈도우 서버를 이용하시나요?  https://wordpress.org/plugins/uploadingdownloading-non-latin-filename/ 이 플러그인을 설치하시고 한번 테스트 해보세여~

    Avatar of Matthew ParkMatthew Park
    Moderator
    @hackya
    #36717

    이거 왜 이런 문제가 생기는걸까요?

    예전에 랭커님도 이 문제 때문에 개삽질 하시고 고생하셨었고…

    해외 웹호스팅은 절대 이런 문제가 없는데, 한국 웹호스팅들은 한글명 파일이 업로드도 안되고, 업로드 되도 파일명 다 깨지고 이러더라구요. 유독 한국 호스팅들 에서만 이런 문제가 발생합니다.

    여기 코프레스의 최대 미스테리 입니다. 왜 이런 문제가 발생하는지 아직 아무도 모릅니다.

    Avatar of 최남규최남규
    Participant
    @yaotome2
    #36749

    uploadingdownloading-non-latin-filename

    해당 플러그인을 설치해서 테스트한 결과
    미디어의 파일 올리기시에는 파일명이 변경되어 업로드가 되더군요

    하지만 Contact Form 7에서는 동일한 현상입니다.
    감사합니다.

    혹시 Contact Form 7에서 DB저장 시 파일명을 변경할 수 있지 않을까 하는데
    해당 부분이 어디 위치에 있는지 알수 있을까요?

    Avatar of 최남규최남규
    Participant
    @yaotome2
    #36750

    Windows Server 2012를 이용하고 있습니다.
    이전에도 이러한 문제들이 있었나 보네요
    감사합니다.

    Avatar of 아이디어피플아이디어피플
    Participant
    @ideapeople
    #36751

    국내 호스팅이라서 이런 문제는 아닐거 같아요 …

    워드프레스의 경우 파일 업로드시에 basename이라는 함수를 이용해서 파일명을 추출하는데

    제 기준으로 윈도우 서버 이용시 한글파일명에서 basename을 호출하면 파일명이 아니고 false를 리턴 하더라구요.

    그래서 저런 플러그인도 나오는거 같구요….

    윈도우 서버 설정을 변경하는 방법도 있을거 같은데 저는 아직 방법을 찾지는 못했어요 …

    해외호스팅사에서는 이런 문제도 다 확인하고 인코딩 설정도 다 변경한 후에 서비스를 해서 그런거 아닐까요?

    국내의 경우 그냥 문제보다는 구축 해놓고 서버 호스팅 제공만 하고 …

    서비스 제공 품질의 차이라고 생각해요…

    그래서 워드프레스 설치할때 윈도우 서버는 안쓰는게 정신건강에 좋을것 같아요! ㅎㅎ

    그냥 제 개인적인 생각입니다..! ^^

     

    Avatar of 아이디어피플아이디어피플
    Participant
    @ideapeople
    #36752

    http://ssamture.net/archives/1862 이 플러그인을 설치해서 해보세요

    제 윈도우 서버에서 테스트 했을때 이상없이 전달 되내요 …

    Avatar of 최남규최남규
    Participant
    @yaotome2
    #36758

    테스트 해본 결과 정상적인(일반적인?) 한글파일명은 전달이 되네요
    예외적인 부분… ㅋㅋㅋ.txt 이런 파일명은 여전히 동일한 현상입니다.

    코프레스 사이트에서는 저런 파일명도 정상적으로 업로드가 되더군요.. 흠..
    뭔가 근본적인 문제인가 보네요

    우선은 올려주신 MH Hangul to English 이 플러그인을 조금 수정해서 사용하면 될듯 하네요
    감사합니다.

    Avatar of 아이디어피플아이디어피플
    Participant
    @ideapeople
    #36767

    국내 호스팅이라서 이런 문제는 아닐거 같아요 …

    워드프레스의 경우 파일 업로드시에 basename이라는 함수를 이용해서 파일명을 추출하는데

    제 기준으로 윈도우 서버 이용시 한글파일명에서 basename을 호출하면 파일명이 아니고 false를 리턴 하더라구요.

    그래서 저런 플러그인도 나오는거 같구요….

    윈도우 서버 설정을 변경하는 방법도 있을거 같은데 저는 아직 방법을 찾지는 못했어요 …

    해외호스팅사에서는 이런 문제도 다 확인하고 인코딩 설정도 다 변경한 후에 서비스를 해서 그런거 아닐까요?

    국내의 경우 그냥 문제보다는 구축 해놓고 서버 호스팅 제공만 하고 …

    서비스 제공 품질의 차이라고 생각해요…

    그래서 워드프레스 설치할때 윈도우 서버는 안쓰는게 정신건강에 좋을것 같아요! ㅎㅎ

    그냥 제 개인적인 생각입니다..! ^^

    Avatar of EnteroaEnteroa
    Participant
    @san0123
    #36857

    서버관리자로서 변명아닌 변명을 하자면
    해외에서는 한글 파일명을 사용하지 않으니까 문제가 생기지 않은거죠 ‘ㅅ’a

    윈도우에서 흔히 쓰이는 한글코드인 cp949가 리눅스서버에 포함되지 않기 때문에 모든 전송에 파일명 변화가 필요합니다.

    cp949 => euckr / cp949 => utf-8
    FTP 데몬에서 물론 설정을 해주긴 합니다만.. 생뚱 맞게 맥OS 로 접속하면 저부분이 에러가 나죠 ‘ㅅ’a

    위에 것은 일종의 예를 들어드린겁니다.
    워드프레스의 경우 서버의 캐릭터셋을 무시하고 기본적으로 utf-8 베이스의 파일명을 사용합니다.

    근데 문제는 기존에 웹서버 설정등에서 기본적으로 서버 캐릭터셋을 따라가게 해놓았기 때문에 문제가 됩니다.
    즉 워드프레스 등장 이전의 모든 솔루션은 서버 설정을 따라 갑니다. 그에 웹서버에서 그에 맞도록 세팅되어 있구요 ‘ㅅ’a
    그게 문제가 됩니다.. 워드프레스에서 =3=aa

    즉 애초에 한글파일명 사용관련해서 삽질한 서버가 아니면 새로 바뀐 표준인 모든 설정이 UTF-8일경우 워드프레스는 매우 잘 돌아갑니다.
    근데 국내 서비스용으로 튜닝하면 워드프레스만 쓰는것이 아니므로 다른 애들을 버려야 하거든요 ‘ㅅ’a
    그래서 그러지 못하는경우가 발생하게 됩니다. 기존에 사용중이선 사용자의 세팅에 맞추는게 우선이거든요 ‘ㅅ’a

    근데 국내 기반사업 서비스 업체는 이미 웹서버를 초기 구성 부터 모든것을 할줄 아는 인력이 거의 없다고 보시면 됩니다.
    기존것을 복사해서 쓰는경우가 대부분 이구요. 그런분들은 보통 치킨집을 하고 있죠..
    그래서 물어보면 나는 모르겠네 라는 대답이 돌아오는 경우가 대다수 이고 ‘ ‘a

    Avatar of Matthew ParkMatthew Park
    Moderator
    @hackya
    #36858

    @san0123 “해외에서는 한글 파일명을 사용하지 않으니까 문제가 생기지 않은거죠 ‘ㅅ’a” – 네????

    GoDaddy 사용하시는 한국 사용자 분들만 수만명입니다.

    GoDaddy, Bluehost, 하다못해 Digital Ocean 에서도 한글명 파일, 아무런 문제가 생긴적이 없습니다.

    한국 사용자도 전무하다시피한 Bitnami Nginx 스택에서도

    https://wiki.bitnami.com/Infrastructure_Stacks/Bitnami_Nginx_Stack

    한글명은 아무런 문제 없이 업로드 되고 읽힙니다.

    해외웹호스팅 종류만 10개 넘게 접해봤는데, 중국어나 한국어 파일명이 깨져서 문제가 생긴적은 없었습니다.

    그래서 일단 “해외에서는 한글 파일명을 사용하지 않으니까” – 이 부분은 전혀 설득력이 없구요.

    http://hackya.com/wp-content/uploads/sites/2/2016/08/정부_알리미_3.0.png

    다른 설명은 서버의 캐릭셋이 워드프레스는 무조건 UTF-8 으로 잡히는데 서버는 EUC-KR 이라서 (예를들자면) 한글명이 깨지는거다 라고 제가 이해했습니다.

    그런데 예전에 랭커님이 분명 서버 + DB 도 UTF-8 이고, 워드프레스 캐릭셋도 UTF-8 으로 잡혀있는걸 확인했는데도 불구하고 한글명이 깨지는 현상을 겪으셨었습니다.

    그래서 캐릭셋 문제도 아닌걸로… 결론이 났고…

    모두를 미궁에 빠트린 문제였었습니다.

    하나의 대안은, 한글명이 깨지는 국내 호스팅 사들의 리스트를 만들어서 배포하면 워드프레스 커뮤니티 내 공익에 도움이 되지 않을까 하는 생각도 합니다.

    한글명 파일은 SEO 측면에서 절대 무시못하는 잇점을 가져다 주기 때문에 (물론 한글명 깨지는 웹호스팅 운영자들이 웹에다 한글명? 그거 안써도 돼. 숫자 나 영문 써도 아무런 불이익 없어” 라는 식의 유언비어를 많이 퍼트리시더라구요.) 단순히 무시하고 넘어갈 문제가 아닌 것 같습니다.

    Avatar of EnteroaEnteroa
    Participant
    @san0123
    #36864

    한 문구에 집중하지 마시고 문맥을 전체적으로 봐 주세요 ‘ㅅ’a
    플래쉬업로더를 채용한 솔루션의 서버 캐릭터셋 무시 utf-8 업로드 고정과 그렇지 못한 기존 솔루션과의 호환성 문제입니다 ‘ㅅ’a

    당연히 한쿸서버는 wordpress 이전에 출시된 한국 솔루션들의 파일 업로드 방식(서버 캐릭터셋을따라가는) 에 호환 잘되도록 웹서버 세팅이 되어 있는겁니다.
    그리고 그걸 모두 알아서 호환되도록 맞춰 줄만한 사람들은 이미 밀리고 밀려서 치킨집이나 하고 있다 라고 하는거구용 ‘ㅅ’a

    종합해서 그걸로 따져봐야 현업 종사자중에서 해결을 할만한 인재가 별로 없다는 소리죠.
    또 컨택트폼은 메일을 보내는 것이기 때문에 SEO와 관련이 없을꺼 같은데요 ‘ㅅ’?

    Avatar of Matthew ParkMatthew Park
    Moderator
    @hackya
    #36866

    아… 제가 한글 독해력이 좀 떨어집니다. 난독증? ㅋㅋㅋ

    무슨 말씀이신지 글을 다시 읽어 보고 좀더 정확하게 이해했습니다.

    그리고 컨택트폼 메일을 말한게 아니라, 어떤 한국 웹호스팅들은 UTF-8 인데도 불구하고 한글명 파일이 아예 업로드 될수 없는 곳들이 존재합니다.

    저는 그부분을 얘기한거였구요.

    웹호스팅의 수익성이 많이 낮다 보니, 대형업체가 아닌곳의 기술력이 아쉬운 곳들이 있는 것 같습니다.

    통큰아이 같이 오래된 업체도 예전에 보니 실제 문제 해결할 수 있는 담당자가 딱 한명있었고 그랬던 기억이 납니다.

13 글 보임 - 1에서 13 까지 (총 13 중에서)
  • 답변은 로그인 후 가능합니다.