> 백엔드 개발 > PHP 문제 > PHP가 데이터베이스에 잘못된 문자를 씁니다.

PHP가 데이터베이스에 잘못된 문자를 씁니다.

王林
풀어 주다: 2023-02-24 09:38:02
원래의
3304명이 탐색했습니다.

PHP가 데이터베이스에 잘못된 문자를 씁니다.

거의 모든 PHP 개발자가 문자 깨짐 문제에 직면해 있습니다. 아래에서는 PHP MySQL 데이터베이스에 연결할 때 문자 깨짐에 대한 해결 방법을 주로 소개합니다.

MYSQL 데이터베이스용 UTF-8 인코딩 사용 시 문제
1. phpmyadmin을 사용하여 데이터베이스 및 데이터 테이블을 생성하세요
데이터베이스를 생성할 때 "조직"을 "utf8_general_ci"로 설정하거나 다음 명령문을 실행하세요:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
로그인 후 복사

데이터 생성 테이블 시기: 필드에 중국어가 저장되어 있는 경우 "Organization"을 "utf8_general_ci"로 설정해야 합니다. 필드에 영어 또는 숫자가 저장되어 있으면 기본값이 좋습니다.
해당 SQL 문 예:

CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
로그인 후 복사

2. PHP를 사용하여 데이터베이스를 읽고 씁니다.
데이터베이스에 연결한 후

$connection = mysqli_connect($host_name, $host_user, $host_pass);
로그인 후 복사

add:

mysqli_query("set character set 'utf8'");//读库
mysqli_query("set names 'utf8'");//写库
로그인 후 복사

정상적으로 MYSQL 데이터베이스를 읽고 쓸 수 있습니다. .
appserv-win32-2.5.10을 사용하여 생성된 환경은 이 패키지를 설치할 때 기본 utf8 인코딩을 사용합니다.
데이터베이스 연결 파일을 작성할 때

$conn = mysqli_connect("$host","$user","$password");
mysqli_query("SET NAMES 'UTF8'");
mysqli_select_db("$database",$conn);
로그인 후 복사

라고 적습니다. 그런 다음 페이지를 만들 때 다음 문장에 주의하세요.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
로그인 후 복사

이렇게 하면 데이터베이스에 입력된 중국어나 페이지 표시에 관계없이 모든 것이 정상이 됩니다. .
DW CS4 버전에서는 기본적으로 utf8 페이지도 생성됩니다.
마찬가지로, 처음에 데이터베이스 연결 파일을

mysqli_query("SET NAMES &#39;GBK&#39;");
로그인 후 복사

로 작성하면 페이지도 그에 따라 변경되어야 합니다.

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
로그인 후 복사

위 내용은 참고용입니다!

추천 튜토리얼: PHP 비디오 튜토리얼

위 내용은 PHP가 데이터베이스에 잘못된 문자를 씁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿