热门IT资讯网

PHP iconv(): Unknown error (84)

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,今天突然接到产品经理电话,说短信发送错误,发送短信接口已经运行三个多月了都是很正常,想当然的就认为是提供商那边有问题;就去找提供商了,搞了半天最终发现还是自己代码有问题。没有办法,自己挖的坑自己得填啊

今天突然接到产品经理电话,说短信发送错误,发送短信接口已经运行三个多月了都是很正常,想当然的就认为是提供商那边有问题;就去找提供商了,搞了半天最终发现还是自己代码有问题。



没有办法,自己挖的坑自己得填啊,查代码看看哪里有问题,跟踪代码提示上图问题,很是迷茫啊,查官方文档吧,


iconv
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
iconv - 字符串按要求的字符编码来转换
说明
string iconv ( string $in_charset , string $out_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset。


参数
in_charset:输入的字符集。
out_charset:输出的字符集。
如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。
str:要转换的字符串。
返回值:返回转换后的字符串, 或者在失败时返回 FALSE。


在加上百度

http://www.tonitech.com/822.html

http://www.aikaiyuan.com/8418.html


即可确定问题方向了

iconv()函数转码的时候某个字符不能被目标字符所表示

这时候就需要iconv()函数第二个参数的//TRANSLIT、//IGNORE两个值了


之前代码:

iconv("utf-8", "gbk", $this->content)

修改之后代码:

iconv("utf-8", "gbk//TRANSLIT//IGNORE", $this->content)


重新提交短信内容


您在2015-11-07 15:44添加的短信提醒内容,已于2015-11-07 15:45发送完成\';成功发送2人,发送失败0人。


ok问题解决 交差

0