sql >> Database >  >> RDS >> Mysql

UTF8-workflow PHP, MySQL samengevat

  • mb_internal_encoding('UTF-8') doet zelf niets, het stelt alleen de standaard coderingsparameter in voor elke mb_ functie. Als u geen mb_ . gebruikt functie maakt het niet uit. Als dat zo is, is het logisch om dit zo in te stellen dat u de $encoding niet hoeft door te geven parameter elke keer afzonderlijk.
  • IMO mb_detect_encoding is meestal nutteloos omdat het fundamenteel onmogelijk is om de codering van onbekende tekst nauwkeurig te detecteren. Je moet ofwel weten in welke codering een klodder tekst zit, omdat je er een specificatie over hebt, of je moet de juiste metagegevens ontleden, zoals headers of metatags waar de codering is gespecificeerd.
  • Gebruik mb_check_encoding om te controleren of een klodder tekst geldig is in de codering waarin u verwacht dat deze zich bevindt, is doorgaans voldoende. Als dit niet het geval is, gooi het dan weg en gooi een passende fout.
  • Betreffende:

    Als je strings manipuleert die multibyte-tekens bevatten, ja, dan moet je de mb_ gebruiken functies om te voorkomen dat u verkeerde resultaten krijgt. De kerntekenreeksfuncties werken alleen op byteniveau, niet op tekenniveau, wat u normaal gesproken wilt als u met tekenreeksen werkt.

  • utf8_general_ci vs. utf8_bin maakt alleen een verschil bij verzamelen , d.w.z. het sorteren en vergelijken van strings. Met utf8_bin gegevens worden in binaire vorm behandeld, d.w.z. alleen identieke gegevens zijn identiek. Met utf8_general_ci enige logica wordt toegepast, b.v. "é" sorteert samen met "e" en hoofdletters worden beschouwd als kleine letters.


  1. Hoe de OR-operator te vervangen door de UNION-operator?

  2. Hoe gegevens uit de mysql-database te halen en te visualiseren met D3.JS?

  3. Hoe Sequelize enkelvoudige tabelnamen te gebruiken

  4. In plaats van triggers in mysql