php使用iconv中文截断问题的解决方法
这篇文章主要介绍了php使用iconv中文截断问题的解决方法,以实例形式较为详细的分析了出现中文截断问题的原因与具体解决方法,具有一定参考借鉴价值,需要的朋友可
本文实例讲述了php使用iconv中文截断问题的解决方法。分享给大家供大家参考。具体分析如下:
今天做了一个采集程序,原理很简单,使用curl方法把对方页面的html获取分析,然后正则提取需要的数据并保存在数据库。
由于对方页面是GB2312编码,而本地使用的是UTF-8编码。因此在采集后需要进行编码转换。
使用了iconv方法进行编码转换
iconv — 字符串按要求的字符编码来转换
string iconv ( string $in_charset , string $out_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset 。
转换的方法很简单,直接使用iconv方法就可以了
试验了几个页面,,都能正常采集。但在之后的采集中,有几个页面采集不完整。
一开始考虑是否正则有错,检查后排除此问题。经过排查,发现经过iconv转码后的内容比采集的内容少了一大段。
查看apache log,看到提示:Notice: iconv(): Detected an illegal character in input string。
翻查手册,看到以下说明
如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。
如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则, str 从第一个无效字符开始截断并导致一个 E_NOTICE 。
原来iconv遇到不能识别的内容,会从第一个不能识别的字符开始截断,并生成一个E_NOTICE。因此后边的内容被丢弃了。
而在输出字符集后加上//IGNORE则只丢弃不能识别的内容,而不会截断和丢弃后面的内容。
修改程序后一切正常
Tips:使用iconv时,如果要使用UTF-8编码的,请使用UTF-8而不要使用UTF8,因为UTF8有些服务器会有问题。
希望本文所述对大家的php程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











DeepSeek : 서버와 혼잡 한 인기있는 AI를 처리하는 방법은 무엇입니까? 2025 년 핫 AI로서 DeepSeek은 무료이며 오픈 소스이며 OpenAIO1의 공식 버전과 비교할 수있는 성능을 가지고 있으며, 이는 인기를 보여줍니다. 그러나 높은 동시성은 서버 바쁜 문제를 가져옵니다. 이 기사는 이유를 분석하고 대처 전략을 제공합니다. DeepSeek 웹 버전 입구 : https://www.deepseek.com/deepseek 서버 바쁜 이유 : 높은 동시 액세스 : DeepSeek의 무료 및 강력한 기능은 동시에 많은 사용자를 유치하여 과도한 서버로드를 초래합니다. 사이버 공격 : DeepSeek은 미국 금융 산업에 영향을 미친다 고보고되었습니다.

참깨 오픈 교환을 중국어로 조정하는 방법? 이 튜토리얼은 예비 준비부터 운영 프로세스에 이르기까지 컴퓨터 및 안드로이드 휴대 전화의 자세한 단계를 다룹니다. 그런 다음 일반적인 문제를 해결하여 참깨 오픈 교환 인터페이스를 중국어로 쉽게 전환하고 거래 플랫폼을 신속하게 시작할 수 있습니다.

Sesame Open Exchange 앱의 공식 다운로드 단계는 Android 및 iOS 시스템 다운로드 프로세스뿐만 아니라 일반적인 문제 솔루션을 포함하여 안전하고 빠르게 다운로드하고 편리한 암호 화폐 거래를 가능하게합니다.

로그인 단계 및 암호 복구 프로세스를 포함하여 참깨 오픈 exchange 웹 버전의 로그인 작업에 대한 자세한 소개는 로그인 실패, 페이지를 열 수 없으며 플랫폼에 부드럽게 로그인 할 수없는 일반적인 문제에 대한 솔루션을 제공합니다.

디지털 통화 거래 플랫폼에서 거래 할 때 가장 걱정스러운 상황은 판매자가 동전을 구매 한 후에 동전을 릴리스하지 않거나 구매자가 지불 할 수 없다는 것입니다. 이 두 상황 모두 후속 거래에 심각한 영향을 미칩니다. 이 기사는 구매자가 지불 할 수없는 방법에 중점을 둘 것입니다. 동전을 구매하면 지불 할 수 없다면 어떻게해야합니까? 결제가 불가능한 상황을 만나면 먼저 자신의 지불 방법 및 계정 상태를 확인한 다음 네트워크 및 거래 플랫폼이 정상적으로 운영되고 있는지 확인해야합니다. 문제가 동일하게 유지되면 플랫폼 고객에게 연락하는 것이 일반적으로 가장 효과적인 솔루션입니다. 보다 자세한 솔루션은 다음과 같습니다. 지불 방법 문제 : 일부 은행 또는 신용 카드 기관은 암호 화폐 관련 거래, 특히 국제 지불을 제한 할 수 있습니다. 제한 사항을 위해 은행이나 신용 카드 회사에 연락하거나 대신 다른 지불 방법을 사용하는 것이 좋습니다.

Node.js 환경에서 403을 반환하는 타사 인터페이스의 문제를 해결하십시오. Node.js를 사용하여 타사 인터페이스를 호출 할 때 때때로 403을 반환하는 인터페이스에서 403의 오류가 발생합니다 ...

문제 설명 PHP를 사용하여 Alipay EasysDK를 호출 할 때, 공식 코드에 따라 매개 변수를 작성한 후, 작동 중에 오류 메시지 가보고되었습니다. "정의되지 않은 ...

OKX 장치 제한 솔루션 : OKX 계정 장치가 제한되어 있습니까? 이 기사는 자세한 셀프 서비스 솔루션을 제공합니다. 먼저 OKX 공식 고객 서비스에 문의하여 계정 정보 및 제한된 장치 세부 정보를 제공하십시오. 고객 서비스는 인증 정보를 제공하고 비정상적인 활동을 설명하도록 요청할 수 있습니다. 그런 다음 OKX가 검토 될 때까지 기다려야합니다. 며칠이 걸릴 수 있습니다. 감사가 완료된 후에는 비밀번호 변경, 2 요인 확인 가능 또는 위반 중지와 같은 제한 사항 (예 : 비정상 로그인 또는 위반)의 이유에 따라 해당 조치를 취하십시오. 시스템 오류로 제한이 발생하는 경우 시스템이 복구하고 공식 공식 발표를 받기 위해 참을성있게 기다리십시오.
