>  기사  >  백엔드 개발  >  PHP mysqli 중국어가 깨졌을 경우 어떻게 해야 합니까?

PHP mysqli 중국어가 깨졌을 경우 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2021-12-08 09:44:183590검색

PHP mysqli의 중국어 잘못된 코드에 대한 해결 방법: 1. html 파일의 인코딩을 확인하고 수정합니다. 2. mysql 데이터베이스의 정렬 규칙을 "utf8_general_ci"로 수정합니다. 3. SQL을 실행하기 전에 설정 인코딩을 추가하기만 하면 됩니다. 성명.

PHP mysqli 중국어가 깨졌을 경우 어떻게 해야 합니까?

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.

PHP mysqli에 중국어 문자가 깨졌을 경우 어떻게 해야 하나요?

PHP mysqli에서 중국어 깨짐 오류가 있는 데이터를 추가했습니다.

1. 문제 발생

PHP mysqli를 사용하여 연결할 때 데이터를 쓰기 위해 데이터베이스에 입력한 한자가 깨져 있는 것을 발견했습니다. 이는 인코딩 문제인 것 같습니다.

2. 문제 해결 과정

1. 파일 구조

파일 이름 Remarks
addbook.html 양식 제출 데이터 웹페이지
addbook.php SQL 문 실행 php 파일
common.php 에는 mysql 데이터베이스 호스트

등의 구성 데이터가 저장되어 있습니다. 2 먼저 html 파일을 확인하고 <meta charset="UTF-8"&gt을 확인하세요. ;< /code><code><meta charset="UTF-8">

3.其次排查了mysql数据库,字符集是 utf8 ,排序规则是 utf8_general_ci

4.最后排查了PHP文件,终于发现了问题

随便打印了一下表单传递的中文数据,发现是没有乱码的,

所以剩下的问题就只能是连接数据库的代码没有弄好编码了。

三、解决办法

重点:在执行SQL语句之前加入设置编码

		   // 设置编码
            mysqli_query($conn,"set names utf8");
            // 执行sql语句
            $rs = mysqli_query($conn,$sql);
            // 关闭流
            mysqli_close($conn);

千万不要把 mysqli_query($conn,"set names utf8");

3. 두 번째로 mysql 데이터베이스를 확인해 보니 문자 집합은 utf8이고 정렬 규칙은 utf8_general_ci

4입니다.

폼에 전달된 중국어 데이터를 무작위로 인쇄해 보니 깨져있는 코드가 없는 걸 발견했습니다.

그래서 남은 문제는 데이터베이스에 연결하는 코드가 제대로 되지 않는다는 점 뿐입니다. 인코딩되었습니다.

3. 해결 방법 핵심 사항: SQL 문 실행 전 인코딩 설정 추가🎜rrreee🎜 절대 mysqli_query($conn, "set)를 넣지 마세요. names utf8");는 sql 문을 실행한 후에 배치하면 여전히 유효하지 않습니다. 🎜🎜4. 요약🎜🎜프로그램에 오류가 있으면 천천히 찾아보시고 기다려주세요. 오류를 찾을 수 없으면 옆으로 치워두고 다른 작업을 수행하면 해결될 수도 있습니다. 🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜🎜🎜

위 내용은 PHP mysqli 중국어가 깨졌을 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.