Signatur
Beschreibung
cubrid_client_encoding() ermittelt den Zeichensatz, der für die angegebene CUBRID-Verbindung verwendet wird. Der zurückgegebene String entspricht dem Namen des Encodings, das beim Verbindungsaufbau mit dem CUBRID-Server ausgehandelt wurde, zum Beispiel utf-8 oder euc-kr.
Die Funktion ist nützlich, wenn in einer Anwendung dynamisch geprüft werden muss, welche Zeichenkodierung für Datenbankoperationen gilt – etwa um sicherzustellen, dass Text korrekt konvertiert wird, bevor er in die Datenbank geschrieben oder nach der Abfrage weiterverarbeitet wird.
Insbesondere in mehrsprachigen Anwendungen oder bei der Migration von Daten zwischen verschiedenen Systemen ist es wichtig, das aktuelle Encoding zu kennen, um Zeichenkonvertierungsprobleme (Mojibake) zu vermeiden.
Die Funktion entspricht funktional mysql_client_encoding() aus der MySQL-Erweiterung, operiert aber auf CUBRID-Verbindungsressourcen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $conn_identifier Pflicht | resource | Eine gültige CUBRID-Verbindungsressource, wie sie von cubrid_connect() oder cubrid_connect_with_url() zurückgegeben wird. |
Rückgabewert
utf-8 oder euc-kr. Im Fehlerfall wird false zurückgegeben.Beispiele
Zeichensatz einer CUBRID-Verbindung abfragen
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen: ' . cubrid_error());
}
$encoding = cubrid_client_encoding($conn);
echo 'Aktuelles Encoding der Verbindung: ' . $encoding;
cubrid_disconnect($conn);
?>
Encoding prüfen und ggf. Konvertierung vornehmen
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
if (!$conn) {
die('Verbindung fehlgeschlagen.');
}
$encoding = cubrid_client_encoding($conn);
// Sicherstellen, dass das Encoding UTF-8 ist
if (strtolower($encoding) !== 'utf-8') {
echo 'Warnung: Verbindung nutzt nicht UTF-8, sondern: ' . $encoding . PHP_EOL;
// Hier könnte eine Konvertierung oder ein Verbindungsabbruch erfolgen
} else {
echo 'Verbindungs-Encoding ist korrekt: ' . $encoding . PHP_EOL;
}
cubrid_disconnect($conn);
?>
// Wichtig · Fallstricke
Die CUBRID-PHP-Erweiterung muss installiert und aktiviert sein (extension=cubrid.so bzw. extension=php_cubrid.dll). Die Funktion steht nur zur Verfügung, wenn PHP mit CUBRID-Unterstützung kompiliert oder die Erweiterung nachgeladen wurde.
Das zurückgegebene Encoding hängt vom CUBRID-Server und den beim Verbindungsaufbau verwendeten Parametern ab. Stellen Sie sicher, dass Server- und Client-Encoding übereinstimmen, um Datenverlust oder fehlerhafte Zeichenkodierung zu vermeiden.