Linux mint(ubuntu) php中文的一些问题

This article is categorized as "Garbage" . It should NEVER be appeared in your search engine's results.


假设使用了 sudo apt install php 安装一个默认的php(2023年6月执行这个命令会安装php8.1)


乱码代码:

<?php
$time = "10分钟";
echo substr($time, -1);
?>

会出现这样的乱码,无论是浏览器还是php命令行运行都是这样


已经检查过php.ini的charset为utf-8,linux整体环境也正常支持中文,看不出什么问题


要点1:代码要使用mb_substr(), mb_strlen()等方法判断中文

(这个和Linux php环境没什么关系,这是语法问题,涉及到中文字符串都要注意)

🔗 [PHP实现中文字符串截取无乱码 - 心之所依 - 博客园] https://www.cnblogs.com/sgm4231/p/9771496.html


改了代码以后可能会发现无法运行(因为"Uncaught Error: Call to undefined function mb_substr()..."一类的报错)

则需要:

$  sudo apt-get install php-mbstring

来源:🔗 [php - Fatal error: Call to undefined function mb_substr() - Stack Overflow] https://stackoverflow.com/questions/14035698/fatal-error-call-to-undefined-function-mb-substr


现在这段代码就可以正常运行了:

<?php
$time = "10分钟";
echo mb_substr($time, mb_strlen($time) - 1, 1);
?>

Leave a Comment Anonymous comment is allowed / 允许匿名评论