sql >> Database >  >> RDS >> Mysql

UTF8-coderingsprobleem - Met goede voorbeelden

Dit kan een taak zijn voor de mb_detect_encoding() functie.

In mijn beperkte ervaring ermee, is het niet 100% betrouwbaar wanneer het wordt gebruikt als een generieke "coderingssniffer" - het controleert op de aanwezigheid van bepaalde tekens en bytewaarden om een ​​gefundeerde gok te maken - maar in dit enge geval (het moet onderscheid maken tussen UTF-8 en ISO-8859-1 ) het zou werk.

<?php
$text = $entity['Entity']['title'];

echo 'Original : ', $text."<br />";
$enc = mb_detect_encoding($text, "UTF-8,ISO-8859-1");

echo 'Detected encoding '.$enc."<br />";

echo 'Fixed result: '.iconv($enc, "UTF-8", $text)."<br />";

?>

u kunt onjuiste resultaten krijgen voor strings die geen speciale tekens bevatten, maar dat is geen probleem.



  1. Hoe beschouwt u NULL als de MAX-datum in plaats van deze in MySQL te negeren?

  2. Een MySQL- of MariaDB-server voorbereiden voor productie - deel twee

  3. CASE-expressies gebruiken in SQL Server

  4. De huidige telling van een Auto Increment-waarde in MySQL wijzigen?