Knowledge Base Ever

PHP has garbled text after string interception

2019-11-21 10:16:54

label: PHP,substr,mb_substr, Garbled

Usually we will use substr to intercept the string. If all the strings in English are normal, but there are other words, it will occasionally produce garbled characters after interception. In fact, because a character stores more than one byte when the character is stored, the interception of the substr function is intercepted by byte, so when we cut off multiple bytes of a character, it will cause garbled characters. In fact, the mb_substr function in PHP is for this scenario, it supports string interception according to string encoding.
mb_substr($str, $start, $length, $encoding)

mb_substr('XXXXXXXX', 0, 4, 'utf-8');
Of course, in addition to the string interception accident, the length of the string is also a function that supports the encoding format.
mb_strlen($str, $encoding)


CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript CSS Redis MySQL8 caching_sha2_password HTML mysql_native_password PHP7 WebStorm date add IntelliJIDEA PEAR SOCKS5 Proxy Server Tag Chrome find remi src Apache du jQuery PHP5.5 V2Ray cURL hide nginx Shadowsocks-Python sub folder availability eth0 MariaDB10.4 PostgreSQL Web Server date Install MongoDB pdo_sqlsrv SOCKS5 Symfony File Upload mssql-tools register_shutdown_function sqlsrv Zend Framework ADDDATE DevExpress JetBrain php-fpm unixODBC-devel height network interface Shadowsocks-Libev string Aura error_get_last Port 80 Web Development data INDENTIFIED BY password policy requirements SOCKS SVN Fedora Media Writer msodbcsql Redis5 absolute Deepin jemalloc SQLAlchemy toggle convert FuelPHP mysqlclient Shadowsocks ss5.passwd at-symbol Error Control Operator margin PHPUnit Framework vps daemon process IIS password SOCKET sudoers center Fatal Errors MongoDB4 WiFi .htaccess DATE_SUB Phalcon SQL Server 2017 TestCase Compiling PHP frequency conflict set_error_handler ss5.conf apr Elasticsearch7.3 PHPUnit Vincent Garreau daemon HTTP particles.js Slim Sudo Failed to build these modules: _uuid MongoDB width DATE_ADD ip command pg_bha.conf SQL Server Tcp BBR Compiling Apache Frameworks MySQL-python scrollbar ss5-3.8.9 Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm VIM CURLOPT_POSTFIELDS NodeJs show substr Bluetooth Failed to build these modules: _ctypes Minimal ISO Wi-Fi date sub INTERVAL PECL SQL Date Funcitons Tag Cloud CodeIgniter font-size root ss5 apache httpd dual network interfaces Laravel vertical-align CURLFille horiz-align node.js ShadowsocksR SUBDATE BarManager exec mb_substr PyCharm