제목 그대로 아래와 같이 php 에서 파이썬 파일을 호출한다.
<?php
$fullPath = '/home/asdf/www/data/example.jpeg';
exec("python3 /home/asdf/easyOCR-binary-centos-main/tests/php_client.py $fullPath 2>&1", $output);
print_r($output);
?>
하지만 아래와 같은 오류가 계속 발생
Traceback (most recent call last): File "/home/naya/easyOCR-binary-centos-main/tests/php_client.py", line 38, in print(result) UnicodeEncodeError: 'ascii' codec can't encode characters in position 60-62: ordinal not in range(128)
해결
사용할 인코딩을 파이썬에게 알려랴 한다.
일반적으로 터미널 로케일에서 가져오지만 exec 사용시 로케일이 없고 기본 인코딩 ansi 사용되어
PYTHONIOENCODING=utf-8 환경변수를 설정한다.
<?php
$fullPath = '/home/asdf/www/data/example.jpeg';
exec("PYTHONIOENCODING=utf-8 python3 /home/asdf/easyOCR-binary-centos-main/tests/php_client.py $fullPath 2>&1", $output);
print_r($output);
?>
https://stackoverflow.com/questions/40931197/using-utf-8-for-php-system-call-to-pytho
'프로그래밍 > Php' 카테고리의 다른 글
easyOCR 이미지 한글 추출 기능 (php, python, fetch 사용) (1) | 2021.10.28 |
---|---|
PHP에서 Fetch API를 사용하여 JavaScript로 파일 업로드 (0) | 2021.10.28 |
mysql error ERROR 1366 (HY000): Incorrect string value: '\xF0\x9F\x98\x9C' for column 'comment' at row 1 (0) | 2020.11.09 |
php 고차함수 array_map / array_reduce 사용 예제 (0) | 2020.07.31 |
php 고차함수 array_reduce 무엇에 쓰는 물건인고? (0) | 2020.07.31 |