PHP iconv(): Unknown error (84)

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

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

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问题解决 交差

时间: 2024-11-07 14:16:27

PHP iconv(): Unknown error (84)的相关文章

解决mysqldump备份报错: Couldn't execute 'SHOW FIELDS FROM Unknown error 1356

服务器环境: [[email protected] mysql]# cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core) [[email protected] mysql]# uname -aLinux localhost.localdomain 3.10.0-514.21.1.el7.x86_64 #1 SMP Thu May 25 17:04:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

usr/bin/mysqladmin: refresh failed; error: 'Unknown error'

debian wheezy 升级后, 因为授权错误, 导致密码给修改, 在debian的mysql safe下也无法进入. 我在/etc/mysql/my.cnf 里面已经修改了bind-address 为局域网ip 进而执行了 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 然后重载授权表: FLUSH PRIVILEGES; 然后重启后, 虽然可以远程链接, 但是debia

Selenium2学习-041-chromedriver:org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status from unexpected alert open

今天在写WebDriver处理弹出框(alert.confirm.prompt)演示实例脚本分发给朋友时,在其执行时未能成功执行,对应的部分错误详情如下: org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status from unexpected alert open (Session info: chrome=53.0.2785.116) (Driver info: chromed

mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: : : unknown error错误解决方法

运行: ./bin/cassandra 得到输出结果: objc[1881]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libinstrument.d

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the

Sys.Application.add_load(function() { var form = Sys.WebForms.PageRequestManager.getInstance()._form; form._initialAction = form.action = window.location.href; }); if (!document.all) { window.onbeforeunload = function() { Sys.WebForms.PageRequestMana

Discuz云平台站点信息同步失败,An unknown error occurred. May be DNS Error.

站点信息同步失败 An unknown error occurred. May be DNS Error. (ERRCODE:1) 经过Discuz教程网(http://www.1314study.com/)逐一排查代码,发现是:source\plugin\manyou\Service\Client\Restful.php 文件里的一处请求超时时间设置太短,所以解决办法就是将超时间改大点,具体修改如下:搜索找到: $result = $this->_fsockopen($url, 0, $dat

FMDB Sqlite Unknown error calling sqlite3_step (5:

使用FMDB 报这个错误的小伙伴      Unknown error calling sqlite3_step (5: database is locked) eu 例如: 2014-07-23 23:00:10.328 RLog[716:60b] Unknown error calling sqlite3_step (5: database is locked) eu  2014-07-23 23:00:10.328 RLog[716:60b] DB Query: INSERT INTO D

【SQLYOG】SSH ERROR:UNABLE TO OPEN CONNECTION:GETHOSTBYNAME:UNKNOWN ERROR牵引出来的一系列问题

出现这个问题很蹊跷,SQLyog管理过一二十台的mysql服务器或者vps,连接一直没有问题,各种服务商的都没问题,也包括阿里云的.可昨天偏偏一台阿里云的服务器本地通过SQLyog去连接它的时候报这样的错:SSH Error:Unable to open connection:gethostbyname:unknown error,谷歌.百度.好搜了几个小时都无果(查完无此相关问题). 刚开始以为是防火墙出了问题,结果关闭阿里云防火墙测试,同样无法通过,百思不得其解,另外3台阿里云的ECS服务器

Type Unknown error: java.lang.NullPointerException

Android 项目开发的时候 出现: Description Resource Path Location Type Unknown error: java.lang.NullPointerException 出现的原因: 是因为,我在导入外部项目的时候,没有添加依赖包(appcompat-V7;appcompat_v7_3). 解决方案: 将 这两个 项目导入同目录下即可! Type Unknown error: java.lang.NullPointerException