首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子字符串导致不可打印字符。

子字符串导致不可打印字符。
EN

Stack Overflow用户
提问于 2016-11-04 10:06:52
回答 1查看 126关注 0票数 0

作为在平面文件中插入产品名称的一部分,我必须将它们截断为最多50个字符。

但是,一些产品名称包含带有重音的字符,如果这些字符位于第50位(大约),则截断的产品名称不能正确显示。

下面是如何复制该问题(PHP):

代码语言:javascript
复制
$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;

显示:

代码语言:javascript
复制
Kaspersky Anti-Virus 2015 (Renovación) Suscripción Anual 3 PC
Kaspersky Anti-Virus 2015 (Renovación) Suscripci�

我怎样才能摆脱这些不可显示的字符�?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-04 10:13:24

您需要使用底座而不是substr

代码语言:javascript
复制
$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,以此类推。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40419923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档