상태 | 완료 |
---|
지난 몇년동안 삽질하면서 원인을 찾았는데 xe홈페이지에는 아무리 질문을 올려도 답이 하나도 없고
버전업될때마다 혹시나해서 깔아보고 테스트해봐도 개선이 안되서 질문 남깁니다.
일단 증상은 리눅스서버에서 sql파일을 내보내기하고 mysqldump를 이용해서 tar파일을 내려받은 다음
윈도apm에서 sql을 불러오기하고 utf-8을 지원하는 압축시대로 압축을 풀어서 계정이전을 하는데...
아무리해봐도 한글이름의 미디어파일(jpg, wma, mp3등)만 다운로드시 파일을 찾을 수 없다고 나오는 문제입니다.
다른 한글이름의 zip파일등은 정상다운이 됩니다.
그래서 삽질을 해본 결과 제가 알아낸 것은
잘되고있는 리눅스 db의 경우db의 xe_files테이블에서 sorce_filename과 uploaded_filename항목의 값이 같네요.
문제가되는 윈도우 apm환경의 경우에도 계정이전된 글들의 두 항목값이 같습니다.
그런데 새로 글을 작성해보니 db에 sorce_filename은 한글이지만 uploaded_filename은 영문과 숫자조합이네요 즉
예를 들어 sourcefilename은 목걸이.jpg인데 uploaded_filename 의 경우
./files/attach/images/190/351/001/2119c205ce35ff9b8f621713be9485ad.jpg 이렇게 나오는군요.
원인은 알겠는데 해결책을 혹시 아시는지요?
요점은 리눅스 환경에서는 소스이름과 업로드된파일이름이 한글과 영문 모두 동일하게 디비에 기록된다.
윈도 apm의 환경에서는 영문은 같으나 한글미디어파일의 경우 uploaded_filename값이 바뀐다.
그러나 리눅스에서 윈도로 가지고온 계정의 경우
sql을 가져오기하면서 소스이름이 과 업로드이름이 한글임에도 변환되지 않고 그대로기록된다
그래서 실제 파일도 있고 경로에 잘 위치하고 있으나 첨부파일 클릭을 하면 파일을 찾을 수 없다고 나온다.
계정 이후로 등록하는 한글파일이름은 정상적으로 변환이되어 디비에 기록되고 첨부파일 다운도 잘된다.
이게 제가 지금까지 계속 삽질해서 알아낸 결과인데요.. 해결책에대한 방법을 혹시 아시는지요?
참 윈도우 apm 은 깨비홈서버사용중이나 윈도apm7, 오토셋 올가6.2 및 그 이하버젼들에서 증상은 같았습니다.
계정폴더내에 이미지파일을 토털커맨더의찾기기능으로 찾았습니다.
분명히 있고, db내에서 알려주는 위치와 같습니다. 파일명도 그대로구요..
제 말은.... 리눅스계정에 설치하고 쓸때는 한글미디어 첨부파일일지라도 디비상의 소스네임과 업로디드 네임이 같다.
제 말은.... 리눅스계정에 설치하고 쓸때는 한글미디어 첨부파일일지라도 디비상의 소스네임과 업로디드 네임이 같다.
윈도우 apm상에서는 한글미디어 첨부파일의 경우 파일이름이 자동으로 복잡하게 바뀌더라... 업로드하는 사진을 보면 첫번째 항목은 제가 윈도우로 계정이전을 끝낸고나서
직접 윈도우 apm환경에서 한글미디어파일을 첨부하여 글을 작성한 예입니다. >>>>>>>> 소스파일이름과 업로디드파일이름이 바뀌었습니다.
그아래 항목들은 다 윈도우 apm환경으로 계정이전을 위해 sql가져오기로 등록된 값들입니다. >>>소스파일이름과 업로디드파일이름이 같습니다.
첫번째 목걸이.jpg파일의 경우 정상다운됩니다.
나머지 계정이전으로 가지고온 모든 파일들 다운이 안됩니다. 파일을 찾을 수 없다고나오지만 실제는 디비에기록된 경로에 정확히 같은 이름과 용량의 파일이 있습니다.
이 문제는 리눅스제로보드4에서 xml로 내보내기한 파일들을 xe에서 마이그레이션툴로 가져오기할때도 동일하게 나타난 현상입니다.
문제해결할려구.. 제로보드4에서 xml로 내보내기한 파일들을 이용해서 리눅스계정에서 마이그레이션툴로 사이트 복원하긴 했는데...
문제는 윈도우 apm환경에서는 제로보드 먼저 설치하고 xml파일을 가져오는방법으로 계정을 이전해도 같은 문제(한글미디어파일인식안됨)발생,
아예 리눅스계정에 xe깔고 xml파일 가져와서 모두 정상작동 확인한후 윈도 apm으로 파일을 tar로 압축해서 통채로 가져오고 sql가져오는방식으로 이전해도 같은문제가 발생한다는 것입니다.
어렵네요 ^^
네.. 그점은 이해했습니다. 그래서 제가 알고싶은것은
리눅스서버에서는 소스와 업로드파일명이 같다.
윈도우 서버에서는 소스와 업로드 파일명이 다르다.
그러므로 리눅스에서 내려받은 파일을 윈도 apm에서 복원시에는 한글첨부파일은 다 못쓰게되는가?
(리눅스에서 가져온 디비는 소스와 파일명이 같고 이전이후 등록한 파일명만 소스와 업로드가 다르게 기입되므로)
하는 문제와..... 이걸 해결할 방법은 없는가? 입니다.
마이그레이션 툴을 써도 현상이 동일한데 혹시 리눅스서버에서 윈도apm으로 이전시 한글첨부미디어파일문제를
해결할 수 있는 방법은 없는것일까요?
전에는 왜그런지 원인도 모르다가 이제서야 디비상의 차이점을알게되고보니 인제 해결법을 고민하고 있습니다.
일일이 바꾸기엔 너무 노가다구요....
대충이라도 해결법을 제시해주시면 나머지는 제가 다른분에게라도 물어물어 해결해보고 싶습니다.
소스 파일명과 업로드 파일명은 xe 프로그램에 따라 변경이 됩니다.
이전 전과 이전 후의 데이터가 동일하다면 db상은 문제가 없습니다.
질문 내용이 복잡한데 질문내용과 다르게 files 폴더 이전할 때 파일명이 그대로 이전되지 않는 경우일 것입니다.
다운로드 되지 않는 파일의 이전 전과 후의 실제 파일명을 확인해보십시오. 아마 파일이 없거나 파일명이 다를 것입니다.