PHP에서 PDO/SQLITE 연결의 문자 인코딩을 변경하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/263056

  •  06-07-2019
  •  | 
  •  

문제

UTF8이 아닌 문자열로 계속 실행되는 PHP-GTK 앱에 약간의 문제가 생겼습니다. 데이터베이스가 UTF-8에 있어야하는 경우에도 문제가 데이터베이스 연결에 있다는 것을 알게되었습니다.

"Set 캐릭터 세트 UTF8"(MySQL Way)와 "Set Names UTF8"으로 시도했지만 아무 일도 일어나지 않았습니다 (이 명령에 대한 정보는 없습니다. "sqlite에 의해 이해되는 쿼리 언어"페이지에도, 나는 그것에 대해 놀라지 않습니다).

PD : 연결이 이미 UTF-8에 있고 데이터는 그렇지 않을 수도 있지만,이 질문을 인코딩하는 연결을 변경하는 방법이 있다면 여전히 유용합니다.

도움이 되었습니까?

해결책

내가 말할 수있는 한, SQLITE에는 숯불에 대한 하나의 설정 만 있습니다, 이는 다트베이스 수준에 있습니다. 연결에서 인코딩을 변경할 수 없습니다.

C API가 있습니다 두 가지 다른 방법 UTF-8 또는 UTF-16과 같은 연결을 여는 것. PHP의 SQLite 모듈 (및 PDO)이 단순히 UTF-8 버전을 사용하는 것으로 기대합니다. 그것이 맞다면, 나는 sqlite 연결이 항상 UTF-8 일 것으로 기대합니다. 이것은 문자열을 수동으로 인코딩/디코딩해야한다는 것을 의미합니다. utf8_encode/UTF8_DECODE.

또한 참조 : http://www.alberton.info/dbms_charset_settings_explained.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top