Ce face mb_check_encoding
mb_check_encoding returnează true dacă toți octeții formează caractere valide în codarea dată. Este prima verificare utilă pentru datele primite din afară: formulare, fișiere încărcate, API-uri.
Din PHP 7.2 poate verifica și tablouri, inclusiv cheile lor.
Parametri
| Parametru | Descriere |
|---|---|
$value |
Textul sau tabloul verificat. |
$encoding |
Opțional. Codarea verificată. Implicit, codarea internă (UTF-8). |
Ce returnează
true dacă textul este valid, altfel false.
Exemple
Exemplul 1: UTF-8 valid și invalid
<?php
$bun = "Iași";
$taiat = substr("Iași", 0, 3);
$vechi = mb_convert_encoding("Iași", "ISO-8859-16", "UTF-8");
var_dump(mb_check_encoding($bun, "UTF-8"));
var_dump(mb_check_encoding($taiat, "UTF-8"));
var_dump(mb_check_encoding($vechi, "UTF-8"));
var_dump(mb_check_encoding(["oras" => "Iași"], "UTF-8"));
Rezultat
bool(true)
bool(false)
bool(false)
bool(true)
Greșeli frecvente
- Apelezi funcția fără parametri, ca în codul vechi. Această formă este învechită și verifică datele cererii curente; dă mereu textul ca parametru.
Comenzi înrudite
mb_scrub: Înlocuiește secvențele de octeți invalide dintr-un text cu caracterul de substituție, ca textul să devină valid.mb_detect_encoding: Încearcă să ghicească în ce codare de caractere este scris un text.mb_convert_encoding: Convertește un text dintr-o codare de caractere în alta, de exemplu din ISO-8859-16 în UTF-8.