![UBUNTU 및 CENTOS에서 PHP용 외국 텍스트 인쇄](https://rvso.com/image/515018/UBUNTU%20%EB%B0%8F%20CENTOS%EC%97%90%EC%84%9C%20PHP%EC%9A%A9%20%EC%99%B8%EA%B5%AD%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EC%9D%B8%EC%87%84.png)
나는 domdocuments를 사용하고 $div->nodeValue와 같은 것을 사용하여 웹 페이지에서 특정 정보를 얻고 있습니다.
내 우분투 컴퓨터에서 php creep.php를 수행하면 모든 것이 중국어로 제대로 표시됩니다(페이지는 UTF-8입니다).
그러나 동일한 코드를 사용하는 CENTOS 시스템에서는 터미널에서 인쇄할 때 æ'å¤åå¸가 표시됩니다. 데이터베이스에 저장하면 문자도 엉망이 됩니다.
내가 알아차린 한 가지는 $content를 인쇄할 때 두 시스템 모두 올바르게 표시된다는 것입니다.
답변1
mysql 연결 문자 집합 및 데이터 정렬을 확인하고, 가져온 데이터의 내용을 삽입하는 동안 MySQL은 데이터를 저장하는 데 사용할 문자 집합 및 데이터 정렬을 알아야 합니다. PHP 스크립트에 아래 줄을 추가하십시오. 이렇게 하면 코드가 다양한 OS 및 구성에서 작동하는 데 훨씬 더 안정적이 됩니다.
` $dbcharset='utf8'; $dbcollation='utf8_general_ci'; mysql_query('SET CHARACTER SET'.$dbcharset); mysql_query("SET NAMES '".$dbcharset."' COLLATE '".$dbcollation."'"); `