错误
Notice: iconv(): Wrong charset, conversion from
UTF-8' to
UTF-8//IGNORE’ is not allowed in Command line code on line 1
原因
在最新版本的 gnu-libiconv 中,不再包含 preloadable_libiconv.so。
解决
在使用alpine:3.12
镜像时,可以执行以下命令解决:
1 | RUN apk --no-cache --allow-untrusted --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ add gnu-libiconv=1.15-r2 |
在使用alpine:3.13
镜像时,可以执行以下命令解决:
1 | RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.13/community/ gnu-libiconv=1.15-r3 |
测试
执行以下命令,可用来验证 icnov 是否正常工作:
1 | php -d error_reporting=22527 -d display_errors=1 -r 'var_dump(iconv("UTF-8", "UTF-8//IGNORE", "This is the Yuan symbol '\''¥'\''."));' |