Quick Start
Basic Conversion
<?php
use Ducks\Component\EncodingRepair\CharsetHelper;
// Convert to UTF-8
$utf8String = CharsetHelper::toUtf8($latinString);
// Convert to ISO-8859-1
$isoString = CharsetHelper::toIso($utf8String);
// Convert to any encoding
$result = CharsetHelper::toCharset(
$data,
'UTF-8', // Target encoding
'ISO-8859-1' // Source encoding
);
Auto-Detection
// Automatic encoding detection
$data = CharsetHelper::toCharset(
$unknownData,
'UTF-8',
CharsetHelper::AUTO // Will auto-detect source encoding
);
// Manual detection
$encoding = CharsetHelper::detect($string);
echo $encoding; // "UTF-8", "ISO-8859-1", etc.
Repair Double-Encoded Strings
// Fix corrupted strings (e.g., "Café" → "Café")
$fixed = CharsetHelper::repair($corruptedString);
Safe JSON Operations
// Safe encoding (auto-repairs before encoding)
$json = CharsetHelper::safeJsonEncode($data);
// Safe decoding with charset conversion
$data = CharsetHelper::safeJsonDecode($json);
Recursive Conversion
// Convert arrays
$data = [
'name' => 'Café',
'items' => ['entrée' => 'Crème brûlée']
];
$utf8Data = CharsetHelper::toUtf8($data);
// Convert objects
$user = new stdClass();
$user->name = 'José';
$utf8User = CharsetHelper::toUtf8($user);
Next Steps