php mysql이 중국어 이름을 쿼리할 수 없는 문제에 대한 해결 방법: 1. MySQL과 PHP의 인코딩이 일치하는지 확인하세요. 2. "header("Content-type: text/html; charset=utf-8")를 추가하세요. PHP 페이지의 헤더;".
이 기사의 운영 환경: Windows 7 시스템, PHP7.1, Dell G3 컴퓨터.
mysql이 중국어 이름을 쿼리할 수 없으면 어떻게 해야 하나요?
1. MySQL과 PHP의 인코딩이 일치하는지 확인하세요
MySQL
전체 데이터베이스의 인코딩 형식을 수정하세요
참고: 데이터가 중요하지 않은 경우에는 인코딩 형식을 직접 변경할 수 있습니다. 데이터베이스를 만든 다음 테이블을 다시 작성하세요. (이 예시의 데이터베이스는 테스트입니다.)
alter database test character set utf8
전체 테이블의 인코딩 형식을 수정하세요
참고: 데이터가 중요한 경우 다음 코드를 실행하여 전체 테이블의 인코딩 형식을 utf8로 변환합니다. 예 테이블은 학생입니다)
alter table students convert to character set utf8
학생 테이블에서 sname 필드의 인코딩 형식을 수정하세요
참고: 첫 번째 sanme는 테이블에 있는 sname 필드의 인코딩 형식을 수정하는 것입니다.
두 번째 sname varchar(64)는 수정할 필드 이름 및 필드 유형입니다(일반적으로 원본 테이블과 동일하며 수정되지 않습니다).
not null은 수정 시 sname을 비워둘 수 없음을 의미합니다. (추가하지 않도록 선택할 수 있습니다)
alter table students change sname sname varchar(64) character set utf8 not null;
또한 phpMyAdmin을 사용하여 데이터 테이블
에 들어가거나 데이터베이스에 들어갈 수 있습니다
PHP
php 페이지 헤더에 추가하세요:
header("Content-type: text/html; charset=utf-8"); //注意:这一句前不能向页面输出任何内容
또한 html에 설정되는 내용은
2입니다. 검색창을 통해 전달된 정보를 얻은 후 작은따옴표를 추가합니다.
검색창:
이름 입력:
검색
xxx.php: $tofind = $_POST["userName"]; $sql = "SELECT * FROM user WHERE name='$tofind';"; $result = $conn->query($sql);
으로 한자 문자열을 검색합니다.
【적어도 내 일은 끝났습니다. . ]
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 php mysql이 중국어 이름을 쿼리할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!