作为在平面文件中插入产品名称的一部分,我必须将它们截断为最多50个字符。
但是,一些产品名称包含带有重音的字符,如果这些字符位于第50位(大约),则截断的产品名称不能正确显示。
下面是如何复制该问题(PHP):
$tmp = "Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC";
$xxx = substr(trim($tmp), 0, 50);
echo $tmp . PHP_EOL;
echo $xxx . PHP_EOL;显示:
Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC
Kaspersky Anti-Virus 2015 (Renovación) Suscripci�我怎样才能摆脱这些不可显示的字符�?
发布于 2016-11-04 10:13:24
您需要使用底座而不是substr
$tmp = "Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC";
$xxx = mb_substr(trim($tmp), 0, 50);
echo $tmp . PHP_EOL;
echo $xxx . PHP_EOL;从医生那里:
根据字符数执行多字节安全substr()操作。位置从str开始计算。第一个字符的位置是0。第二个字符位置为1,以此类推。
https://stackoverflow.com/questions/40419923
复制相似问题