PHP와 MySQL을 배울 때, PHP를 사용하여 MySQL을 조작하여 데이터를 삽입할 때, 데이터베이스와 데이터베이스 테이블을 생성할 때 처음에 UTF-8 인코딩이 지정되어 있는 것을 자주 발견했습니다. , HTML 페이지가 UTF-8로 설정되지 않았습니다. 코딩, html 페이지를
<meta http-equiv="content-Type" content="text/html;charset=UTF8">
으로 설정하고 PHP 코드에
header("Content-type:text/html; charset=utf-8");
을 추가한 후 중국어가 발견되었습니다. 데이터베이스에 삽입된 내용이 여전히 깨졌습니다.
의아해하다가 데이터베이스에 연결한 후 utf-8 인코딩을 사용하려면 연결을 표시하고 설정해야 한다는 것을 알게 되었습니다. . . .
<?php $sqldb = new mysqli("localhost", "root", "", "project"); if (mysqli_connect_errno()) { printf("Connect failed:%s\n", mysqli_connect_error()); exit(); } mysqli_query($sqldb, "set names utf8"); //utf8 设为对应的编码 ... mysqli_close($sqldb); ?>
Mysqli는 기본적으로 latin-1 인코딩을 사용합니다. 페이지가 utf-8로 인코딩되면 페이지가 깨집니다.