'인코딩'에 해당되는 글 4건

  1. [Python] SyntaxError: Non-ASCII character 오류 해결하기 2
  2. PHP 한글 포함한 문자열 자르기 mb_substr
  3. PHP json_encode 활용하기
  4. 맥 기본 텍스트 편집기 UTF-8(자신이 원하는 인코딩으)로 저장하는법 2

파이썬 코드 내에 한글 같은 지원하지 않는 문자가 포함되었을 시에 일어나는 오류입니다.

SyntaxError: Non-ASCII character '\xec' in file /Volumes/DATA/Users/jhrunning/Documents/untitled4/hi.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

[Python] SyntaxError: Non-ASCII character 오류 해결하기


이 문제는 파일의 맨 위에 아래와 같은 주석을 추가해 사용할 인코딩을 지정해 주면 됩니다. (#을 제외하면 안 됩니다.)

# -*- coding: utf-8 -*-



PHP에서 문자열을 원하는 길이만큼 자르는 함수에는 substr이라는 함수가 있습니다. 하지만 영문 byte를 기준으로 자르기 때문에 한글 문자열을 자르려다 보면 글자가 깨지는 현상이 일어납니다. 따라서 특정 인코딩이나 한글을 포함한 문자열을 자를 때에는 mb_substr 함수를 사용합니다.



PHP 한글 포함한 문자열 자르기 mb_substr


아래와 같이 호출하면 잘린 문자열을 반환합니다.


mb_substr(자를 문자열 , 어디서부터 자를 것인지, 얼마나 자를건지);


어디서부터 자를 것인지 부분은 0부터 시작합니다.

ex)

echo mb_substr("안녕하세요.", 0, 2);


출력값 )

안녕



사용할 특정 인코딩 방법을 지정할 수도 있습니다.

mb_substr(자를 문자열 , 어디서부터 자를건지, 얼마나 자를 것인지, 인코딩 방법);


ex)

echo mb_substr("안녕하세요.", 0, 2, 'utf-8');


PHP에서는 배열을 JSON으로 변환할 수 있는 함수가 기본적으로 내장되어 있습니다. 이것이 옵션에 따라 JSON 출력의 결과가 달라집니다.



PHP json_encode 활용하기


JSON_UNESCAPED_UNICODE

유니코드 문자열을 대상으로 Escape를 해서 \uac00 이런 식으로 보이게 하지 않습니다.


  json_encode("가나다"); // 값 : "\uac00\ub098\ub2e4"

  json_encode("가나다",JSON_UNESCAPED_UNICODE); // 값 : "가나다"



JSON_FORCE_OBJECT

배열(Array)을 Object 형태로 변환합니다.

 json_encode(array('A','B','C')); // 값 : ["A","B","C"]

 json_encode(array('A','B','C'),JSON_FORCE_OBJECT); // 값 : {"0":"A","1":"B","2":"C"}


JSON_NUMERIC_CHECK

숫자로만 되어있는 문자열을 Int 형태로 변환시켜 줍니다.

json_encode(array('123','12A')); // 출력값 : ["123","12A"]

 json_encode(array('123','12A'),JSON_NUMERIC_CHECK); // 출력값 : [123,"12A"]


JSON_HEX_TAG

< 와 >와 같은 태그 기호들이 \u003C 와 \u003E 이런 식으로 변환되게 됩니다.

     json_encode("< >"); // 출력값 : "< >"

     json_encode("< >",JSON_HEX_TAG); // 출력값 : "\u003C\u003E"


여러 개 옵션을 동시에 사용하려면 '|' 기호를 사용하여서 할 수 있습니다.


 json_encode($array, JSON_NUMERIC_CHECK | JSON_UNESCAPED_UNICODE);


텍스트 편집기

맥의 기본 텍스트 편집기는 윈도우 메모장과 비슷합니다.
여기다가 그냥 메모도 해놓을 수 있지만 특히 개발같은 경우에는 인코딩이 중요하지요.
이젠 xcode를 씁니다만, 자신이 원하는 인코딩으로 저장하는 방법을 알려드리겠습니다.
쉽지만 헤맸습니다.



방법
 
1.텍스트 편집기를 엽니다.

 2. 사과로고 옆에있는 텍스트 편집기를 누른 후 환경설정을 누릅니다.

 3.  2개의 탭 중에서 열기 및 저장하기를 선택후 자신이 원하는 인코딩으로 선택 합니다.
 주로 utf-8이 쓰이지요.

 쉽습니다. 어렵지 않아요, 근데 못찾고 있었습니다.
누군가가 이걸 보고 도움이 됬다면 이글의 가치는 있는 겁니다.