PHP Conference Nagoya 2025

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_charset -- mysqli_get_charsetReturns a character set object

Açıklama

Nesne yönelimli kullanım

public mysqli::get_charset(): ?object

Yordamsal kullanım

mysqli_get_charset(mysqli $mysql): ?object

Returns a character set object providing several properties of the current active character set.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

The function returns a character set object with the following properties:

charset

Character set name

collation

Collation name

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Minimum character length in bytes

max_length

Maximum character length in bytes

number

Internal character set number

state

Character set status (?)

Örnekler

Örnek 1 mysqli::get_charset() example

Nesne yönelimli kullanım

<?php
$db
= mysqli_init();
$db->real_connect("localhost","root","","test");
var_dump($db->get_charset());
?>

Yordamsal kullanım

<?php
$db
= mysqli_init();
mysqli_real_connect($db, "localhost","root","","test");
var_dump(mysqli_get_charset($db));
?>

Yukarıdaki örneklerin çıktısı:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
1
jab_creations at yahoo dot com
4 months ago
On a new server this function was incorrectly returning "utf8mb4_general_ci".

I started a bug report and it turns out that:

1. The PHP team maintained an internal static list.
2. They ultimately decided to not be bothered to update that internal static list.

So as someone with the intentions on knowing exactly what is going on (e.g. Paris Michigan !== Paris France) I now reject the use of this function.

I'm not sure about other databases though for MariaDB you can determine the many character sets using the following SQL query:

SELECT VARIABLE_NAME, GLOBAL_VALUE, DEFAULT_VALUE
FROM INFORMATION_SCHEMA.SYSTEM_VARIABLES
WHERE VARIABLE_NAME LIKE '%CHAR%';
To Top