Ce face mb_convert_variables
mb_convert_variables modifică variabilele primite (prin referință) și convertește toate textele din ele, inclusiv din tablourile interioare. Este utilă când primești o structură întreagă de date într-o codare veche.
$from_encoding poate fi o listă de codări; funcția o detectează pe cea potrivită și o returnează.
Parametri
| Parametru | Descriere |
|---|---|
$to_encoding |
Codarea în care se convertește. |
$from_encoding |
Codarea sursă sau o listă de codări posibile. |
$var, ...$vars |
Variabilele convertite. Sunt modificate direct. |
Ce returnează
Codarea sursă folosită sau false la eroare.
Exemple
Exemplul 1: Un rând importat dintr-un sistem vechi
<?php
$rand = ["oras" => "Iași", "judet" => "Iași", "strada" => "Lăpușneanu"];
mb_convert_variables("ISO-8859-16", "UTF-8", $rand);
echo "Octeți în ISO-8859-16: " . strlen($rand["strada"]) . "\n";
$sursa = mb_convert_variables("UTF-8", ["UTF-8", "ISO-8859-16"], $rand);
echo "Codare detectată: $sursa\n";
echo implode(", ", $rand);
Rezultat
Octeți în ISO-8859-16: 10
Codare detectată: ISO-8859-16
Iași, Iași, Lăpușneanu
Greșeli frecvente
- Te aștepți ca funcția să returneze textul convertit. Returnează doar numele codării sursă: rezultatul este în variabilele date.
Comenzi înrudite
mb_convert_encoding: Convertește un text dintr-o codare de caractere în alta, de exemplu din ISO-8859-16 în UTF-8.mb_detect_encoding: Încearcă să ghicească în ce codare de caractere este scris un text.