Genau wie die LENGTH()-Funktion ist die MySQL-Funktion BIT_LENGTH() keine Multibyte-sichere Funktion. Wie wir wissen, ist der Unterschied im Ergebnis zwischen sicheren Multibyte-Funktionen wie CHAR_LENGTH() oder CHARACTER_LENGTH() und der Funktion BIT_LENGTH() besonders relevant für Unicode, bei dem die meisten Zeichen in zwei Bytes codiert sind oder für UTF relevant sind -8, wobei die Anzahl der Bytes variiert. Dies wird im folgenden Beispiel demonstriert: -
mysql> Select BIT_LENGTH('tutorialspoint'); +------------------------------+ | BIT_LENGTH('tutorialspoint') | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)
Die obige Ergebnismenge zeigt, dass die Bitlänge der Zeichenfolge „tutorialspoint“ 112 beträgt, da sie noch nicht in Unicode-Zeichen konvertiert wurde. Die folgende Abfrage wandelt es in ein Unicode-Zeichen um:节,如下所示 −
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
Das obige ist der detaillierte Inhalt vonIst die MySQL-Funktion BIT_LENGTH() multibytesicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!