0
作为在平面文件中插入产品名称的一部分,我必须将它们截断为最多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�
我怎样才能摆脱这些显示的字符?
用'mb_substr' –
将多字节字符切成两半。不是一个好主意,那很伤人。使用php的字符串函数的多字节变体。请参阅文档:http://php.net/manual/de/ref.mbstring.php – arkascha