sql >> Database >  >> RDS >> Mysql

utf8_bin versus utf_unicode_ci

Het hangt af van wat je nodig hebt.

De utf8_bin collatie vergelijkt strings puur op basis van hun Unicode codepunt waarden. Als alle codepunten dezelfde waarden hebben, zijn de strings gelijk. Dit valt echter uit elkaar als je strings hebt met een verschillende samenstelling voor het combineren van markeringen (samengesteld versus ontleed) of tekens die canoniek equivalent zijn maar niet dezelfde codepuntwaarde hebben. In sommige gevallen, met behulp van utf8_bin zal resulteren in strings die niet overeenkomen met wat u verwacht. Theoretisch, utf8_bin is de snelste omdat er geen Unicode-normalisatie wordt toegepast op de strings, maar het is misschien niet wat je wilt.

utf8_general_ci past Unicode-normalisatie toe met behulp van taalspecifieke regels en vergelijkt tekenreeksen hoofdletterongevoelig. utf8_general_cs doet hetzelfde, maar vergelijkt strings hoofdlettergevoelig.



  1. De data van Pasen voor elk jaar bepalen in Oracle PLSQL

  2. Hoe kan ik transacties gebruiken in mijn MySQL-opgeslagen procedure?

  3. Hoe de maximale verbindingen in postgre te verhogen?

  4. mysql-python installatieproblemen (op mac os x lion)