PHP의 MySQLI Extension에는 현재 데이터베이스 연결에 사용되는 문자 세트, 즉 MySQLI :: get_charset 및 mySQLI_CHARACTER_SET_NAME () 에 사용될 수있는 두 가지 일반적으로 사용되는 기능이 있습니다. 이 두 기능의 기능은 유사하며, 둘 다 현재 연결된 문자 세트를 얻는 데 사용되지만 구문과 사용량은 다릅니다. 다음 으로이 두 기능을 자세히 비교하고 사용법과 차이를 분석합니다.
mysqli :: get_charset은 MySQLI 클래스의 현재 데이터베이스 연결의 문자 세트 정보를 반환하는 메소드입니다. 이 방법은 객체 지향적이며 MySQLI 객체를 통해 호출되어야합니다.
<?php
// 만들다 MySQLi 물체
$mysqli = new mysqli("m66.net", "username", "password", "database");
// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
// 캐릭터 세트를 얻으십시오
$charset = $mysqli->get_charset();
// 출력 문자 세트 정보
echo "현재 문자 세트는입니다: " . $charset->charset;
?>
mysqli :: get_charset 문자 세트 정보가 포함 된 객체를 반환합니다. 이 개체에는 다음과 같은 속성이 있습니다.
charset : 현재 연결된 문자 세트의 이름.
Collation : 현재 연결에 대한 콜레이션 규칙 (예 : UTF8MB4_GENERAL_CI ).
방향 : 문자 세트 방향, 일반적으로 ltr (왼쪽에서 오른쪽) 또는 RTL (오른쪽에서 왼쪽).
mysqli_character_set_name () 은 현재 연결의 문자 세트 이름을 얻는 절차 적 함수입니다. mysqli :: get_charset 과 달리이 함수는 mysqli 객체를 만들 필요가 없지만 리소스에 직접 연결하여 호출됩니다.
<?php
// 만들다 MySQLi 연결하다
$mysqli = mysqli_connect("m66.net", "username", "password", "database");
// 연결이 성공했는지 확인하십시오
if (!$mysqli) {
die("연결이 실패했습니다: " . mysqli_connect_error());
}
// 캐릭터 세트를 얻으십시오
$charset = mysqli_character_set_name($mysqli);
// 출력 문자 세트 정보
echo "현재 문자 세트는입니다: " . $charset;
?>
mysqli_character_set_name () 함수는 현재 연결의 문자 세트 이름을 반환합니다. 반환 된 값은 현재 연결에 사용되는 문자 세트를 나타내는 문자열입니다.
두 기능 모두 현재 연결된 문자 세트를 얻는 데 사용될 수 있지만, 그들 사이에는 몇 가지 중요한 차이점이 있습니다.
구문 및 통화 방법 :
mysqli :: get_charset은 mysqli 객체를 통해 호출되어야하는 클래스 메소드입니다.
mysqli_character_set_name ()은 리소스를 연결하여 직접 호출되는 절차 적 기능입니다.
반품 값 :
mysqli :: get_charset 문자 세트 이름, 콜라이트 및 방향과 같은 정보가 포함 된 객체를 반환합니다.
mysqli_character_set_name () 문자 세트의 이름 만 포함 된 문자열을 반환합니다.
객체 지향 및 절차 적 프로그래밍 :
mysqli :: get_charset 은 객체 지향 프로그래밍에 더 적합합니다.
mysqli_character_set_name () 은 절차 프로그래밍에 더 적합합니다.
해당 시나리오 :
MySQL 연결을 관리하기 위해 객체 지향적 접근 방식을 사용하는 경우 MySQLI :: get_charset 이 더 적합합니다.
절차 적 프로그래밍을 사용하는 경향이 있거나 다른 정보에 관심을 갖지 않고 문자 이름을 가져와야하는 경우 MySQLI_CHARACTER_SET_NAME ()는 더 간결하고 직접적입니다.
mysqli :: get_charset 및 mysqli_character_set_name () 모두를 사용하여 현재 데이터베이스 연결의 문자 세트 정보를 얻을 수 있습니다. 사용하는 기능을 선택하는 것은 사용중인 프로그래밍 스타일 (객체 지향 또는 절차 적)과 더 많은 문자 세트 정보 (예 : Collation 및 Orientation)가 필요한지 여부에 따라 다릅니다. 선택한 기능에 관계없이 궁극적 인 목표는 캐릭터 인코딩 문제를 올바르게 처리하고 차량 코드 또는 문자 불일치를 피할 수 있도록하는 것입니다.