다음은 리눅스 서버에서 실행, MySQL 데이터베이스에 저장된 샘플 문자열입니다 : UTF-8
SQL select 문에서 반환 된 문자열은 어떻게 인코딩됩니까?
에서 하나의 TM의 UTF-16BE
에 0x2122
로 표현되는 문자, 또는 0xE284A2
이야
™ 데이터베이스 테이블입니다 utf8-unicode-ci
에 인코딩 됨. 나는 다른 리눅스 서버에서 PHP를 실행하고 있는데, 이는 ISO-8859-1
의 내부 인코딩 (mb_internal_encoding
에 의해보고 됨)을 사용하는데, 이것은 UTF-8과 같은 문자 인코딩을 사용한다.
문자열을 가져 오기 위해 SQL 쿼리를 실행하면 이 반환되며, 이는 Windows-1252
입니다.
어떻게 그런 일이 벌어지며, 어떻게하면 더 현명한 코드 페이지로 돌아갈 수 있을까요?
세트 이름 'UTF8';? –
'$ mysqli-> set_charset ('utf8');은 SET NAMES 문을 실행하기보다 선호된다. – spencer7593