ID:
PW:

     0 분
     29 분

프로그래밍 Tips
프로그래밍에 관한 Tip을 공유하는 곳입니다.


[python] 웹에서 서버에러날 때 인코딩 확인해보세요
이석종  2020-05-04 19:24:51, 조회 : 202, 추천 : 38

저는 pc에 xampp를 설치해서 python코드로 웹에서 뭔가 하는 걸 테스트해보고 있습니다.

xampp는 자신의 컴퓨터를 웹서버로 만들어주는 기능을 합니다. 자세한 건 아래를 참고하세요.
site : http://www.apachefriends.org
wiki : https://ko.wikipedia.org/wiki/XAMPP

이 xampp라는 패키지는  아파치 웹 서버, MariaDB, PHP, PERL을 포함하고 있습니다. 이 패키지를 설치하면 control panel을 통해 아파치 웹서버 DB서버 등을 start / stop할 수 있습니다. 즉 자신의 컴퓨터를 웹환경과 같게 만들어서 웹프로그램을 만들고 테스트 할 수 있습니다.

이 xampp는 기본적으로 php와 perl를 지원하지만 자신의 컴퓨터에 python이 깔려 있다면 약간의 설정변경만 해주면 python을 돌릴 수 있습니다.

그런데 오늘 xampp 환경에서 잘 돌아가는 python코드를 cafe24에 올려서 돌려보니 계속 server에러가 발생했습니다. 현제 제가 서비스 받고 있는 cafe24 웹호스팅 서비스는  python 2.x를 지원하고 제 pc에는 3.x가 설치도어있고, cafe24 환경에서는 import안되는 것들이 있어서 그것 그런 문제인 줄 알고 코드를 이것 저것 고쳐봤는데 원인을 못찾았습니다. 특별한 것도 없는데 에러가 났습니다.

쩝. 하도 이상해서 인코딩을 확인해봤더니 잘돌아가는 코드는 utf-8이었고 서버에러가 나는 코드는 utf-8(bom)이었습니다.

구글링을 해봤더니 윈도우에서는 utf-8이나 utf-8(bom)모두 지원하지만 unix/linux에서는 utf-8만 인식한다고 합니다. 그래서 xampp환경에서는 utf-8(bom)로 작성된 코드도 잘 돌았던 것이고 이걸 웹(리눅스서버)에 올려서 돌렸을 때는 에러가 발생했던 것입니다.

저는 에디터를 notepad++을 쓰고 있어서 여기서 인코딩을 변경해서 해결했습니다.

BOM에 대한 정보는 아래 링크를 참고하세요.

바이트순서 표식(Byte Order Mark, BOM)
https://ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8_%EC%88%9C%EC%84%9C_%ED%91%9C%EC%8B%9D

[UTF] UTF-8, UTF-8(BOM) 차이
https://m.blog.naver.com/PostView.nhn?blogId=fworld&logNo=220186597821&proxyReferer=https:%2F%2Fwww.google.com%2F


  추천하기   목록보기

Copyright 1999-2021 Zeroboard / skin by zero
구조설계의 미래를 준비하는 모임 [구조설계미래포럼]