php mysql 중국어 왜곡 코드에 대한 해결 방법: 1. 데이터베이스 또는 테이블의 인코딩 형식을 수정합니다. 2. PHP 문에 "mysqli_query("set names utf8");"를 추가합니다. 클라이언트 'charset=utf-8');" 그게 다입니다.
추천: "PHP 비디오 튜토리얼"
PHP와 Mysql에서 중국어로 잘못된 문제
MySQL로 데이터베이스를 구축할 때 때로는 몇 가지 잘못된 문제가 발생할 수 있습니다. 다음은 몇 가지 해결 방법입니다.
문제1: 데이터베이스 또는 테이블의 인코딩 형식이 잘못되었습니다
데이터베이스 생성 시 다음 코드를 사용하여 생성합니다.
CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
테이블 생성 시:
CREATE TABLE `table_name` ( id varchar(40) NOT NULL PRIMARY KEY AUTO_INCREMENT, `UserID` varchar(40) NOT NULL default '', ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
이 3개를 설정한 후 MySQL은 기본적으로 즉, 데이터베이스와 테이블을 구축할 때 동일한 인코딩 형식이 사용된다는 문제가 있습니다.
데이터베이스를 생성한 경우 다음 방법을 사용할 수 있습니다.
1. 기본 인코딩 형식을 확인하세요.
mysql> show variables like "%char%"; +--------------------------+---------------+ | Variable_name | Value | +--------------------------+---------------+ | character_set_client | gbk | character_set_connection | gbk | | character_set_database | utf8 | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+-------------+
참고: 이전 2개를 확인하려면 set names utf8, set names gbk를 사용하여 기본 인코딩 형식; 워크벤치를 통해 데이터베이스 인코딩을 설정하는 것이 더 쉽습니다.
SET NAMES utf8을 실행하면 다음을 동시에 설정하는 것과 같습니다.
SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf8';
2. 테스트 데이터베이스의 인코딩 형식을 확인하세요.
mysql> show create database test; +------------+------------------------------------------------------------------------------------------------+ | Database | Create Database | +------------+------------------------------------------------------------------------------------------------+ | test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ | +------------+------------------------------------------------------------------------------------------------+
3. yjdb 데이터 테이블의 인코딩 형식을 확인하세요.
mysql> show create table yjdb; | yjdb | CREATE TABLE `yjdb` ( `sn` int(5) NOT NULL AUTO_INCREMENT, `type` varchar(10) NOT NULL, brc` varchar(6) NOT NULL, `teller` int(6) NOT NULL, `telname` varchar(10) NOT NULL, `date` int(10) NOT NULL, `count` int(6) NOT NULL, `back` int(10) NOT NULL, PRIMARY KEY (`sn`), UNIQUE KEY `sn` (`sn`), NIQUE KEY `sn_2` (`sn`) ) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |질문 2: PHP와 Mysql 전송 인코딩이 호환되지 않습니다문자 왜곡의 원인을 해결하려면 PHP 문에
mysqli_query(“set names utf8”);mysql 세트 이름을 추가해야 합니다.
http://blog.csdn.net/zsmj_2011/article/details/7943734문제 3: 클라이언트 디코딩 문제:Add header('charset=utf-8'); 그게 다입니다
위 내용은 PHP mysql에서 중국어 문자가 깨지는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!