Cảnh báo LibClamAV: cli_codepage_to_utf8: iconv error: An invalid multibyte sequence has been encountered in the input

Hàm iconv thực hiện chuyển đổi bộ ký tự, chuyển đổi một ký tự multibyte tại một thời điểm và đối với mỗi chuyển đổi ký tự, nó tăng *inbuf và giảm *inbytesleft theo số byte đầu vào được chuyển đổi, nó tăng *outbuf và giảm *outbytesleft bởi số byte đầu ra được chuyển đổi và nó cập nhật trạng thái chuyển đổi có trong cd.

Thư viện Libclamav sử dụng hàm iconv để chuyển đổi ký tự, an toàn chuỗi, xử lý các tệp PE.

Tên hàm

iconv - perform character set conversion

Tóm tắt

#include <iconv.h>
size_t iconv (iconv_t cd, const char* * inbuf, size_t * inbytesleft, char* * outbuf, size_t * outbytesleft);

Mô tả

Đối số cd phải là bộ mô tả chuyển đổi được tạo bằng hàm iconv_open.

Trường hợp chính là khi inbuf không phải là NULL*inbuf cũng không phải là NULL. Trong trường hợp này, hàm iconv chuyển đổi chuỗi multibyte bắt đầu từ *inbuf thành chuỗi multibyte bắt đầu từ *outbuf. Tối đa *inbytesleft byte, bắt đầu từ *inbuf, sẽ được đọc. Tối đa *outbytesleft byte, bắt đầu từ *outbuf, sẽ được ghi.

Hàm iconv thực hiện chuyển đổi bộ ký tự, chuyển đổi một ký tự multibyte tại một thời điểm và đối với mỗi chuyển đổi ký tự, nó tăng *inbuf và giảm *inbytesleft theo số byte đầu vào được chuyển đổi, nó tăng *outbuf và giảm *outbytesleft bởi số byte đầu ra được chuyển đổi và nó cập nhật trạng thái chuyển đổi có trong cd. Việc chuyển đổi có thể dừng lại vì bốn lý do:

  1. Chuỗi multibyte đầu vào không hợp lệ. Trong trường hợp này, nó đặt errno thành EILSEQ và trả về (size_t)(-1). *inbuf được để trỏ đến phần đầu của chuỗi multibyte không hợp lệ.
  2. Chuỗi byte đầu vào đã được chuyển đổi hoàn toàn, tức là *inbytesleft đã giảm xuống 0. Trong trường hợp này, iconv trả về số lượng chuyển đổi không thể đảo ngược được thực hiện trong lệnh gọi hàm này.
  3. Gặp phải chuỗi multibyte không hoàn chỉnh trong đầu vào và chuỗi byte đầu vào kết thúc phía sau nó. Trong trường hợp này, nó đặt errno thành EINVAL và trả về (size_t)(-1). *inbuf sẽ trỏ trái tới phần đầu của chuỗi multibyte không hoàn chỉnh.
  4. Bộ đệm đầu ra không còn chỗ cho ký tự được chuyển đổi tiếp theo. Trong trường hợp này, nó đặt errno thành E2BIG và trả về (size_t)(-1).
    • Một trường hợp khác là khi inbufNULL hoặc *inbufNULL, nhưng outbuf không phải là NULL*outbuf không phải là NULL. Trong trường hợp này, hàm iconv cố gắng đặt trạng thái chuyển đổi của cd thành trạng thái ban đầu và lưu trữ một chuỗi dịch chuyển tương ứng tại *outbuf. Hầu hết *outbytesleft byte, bắt đầu từ *outbuf, sẽ được ghi. Nếu bộ đệm đầu ra không còn chỗ cho trình tự đặt lại này, nó sẽ đặt errno thành E2BIG và trả về (size_t)(-1); nếu không, nó tăng *outbuf và giảm *outbytesleft theo số byte được ghi.
    • Trường hợp thứ ba là khi inbufNULL hoặc *inbufNULL, và outbuf là NULL hoặc *outbuf là NULL. Trong trường hợp này, hàm iconv đặt trạng thái chuyển đổi của cd về trạng thái ban đầu.

Giá trị trả về

Hàm iconv trả về số ký tự đã chuyển đổi có tính chất không thuận nghịch trong lệnh gọi hàm này; các chuyển đổi có tính thuận nghịch thì không được tính. Trong trường hợp bị lỗi, nó đặt lỗi và trả về (size_t)(-1).

Lỗi

Có rất nhiều lỗi và các lỗi sau có khả năng xảy ra:

E2BIG There is not sufficient room at *outbuf (*outbuf không đủ chỗ).
EILSEQ An invalid multibyte sequence has been encountered in the input (Bắt gặp một chuỗi multibyte không hợp lệ ở đầu vào).
EINVAL An incomplete multibyte sequence has been encountered in the input (Bắt gặp một chuỗi multibyte không hoàn chỉnh ở đầu vào).

Tương thích

POSIX:2001

Tương tự

iconv_open(3), iconvctl(3), iconv_close(3)

LibClamAV Error: [scan_biff_for_xlm_macros] Unexpected state value 4

Các tính năng mặc định của trang web

Các trang web được Đại Phố thiết kế luôn mặc định các tính năng sau:

  • Mã nguồn được tối ưu với các công cụ tìm kiếm.
  • Trang web hỗ trợ thiết bị di động, tương thích với mọi thiết bị: điện thoại, máy tính bảng, máy tính và laptop. Sử dụng công nghệ HTML5, CSS3 Mobile Responsive.
  • Dễ dàng thay đổi theo phong cách riêng của bạn.
  • Dễ dàng thêm bớt số lượng các trang, và chỉnh sửa nội hiển thị trên website tùy ý
  • Phần quản trị rõ ràng, trực quan, dễ sử dụng với cả những người không chuyên về IT.

Quản lí nội dung: có thể dễ dàng thêm, xóa, sửa các thông tin trên website

  • Thông tin sản phẩm và dịch vụ của công ty
  • Thông tin dự án, đối tác Giới thiệu – Liên hệ
  • Thông tin giới thiệu, thông tin liên hệ
  • Tin tức
  • Hình ảnh trên website, sửa các tag alt, descriotion, caption
  • Hình ảnh và caption trên Slideshow
Xin vui lòng liên hệ với chúng tôi nếu cần thêm thông tin
Web hosting giá rẻ, Best WebHosting Offers, Hosting Chất lượng cao, Joomla Hosting, Reseller Hosting, Wordpress Hosting, trang web có chức năng quản trị dễ sử dụng nhất, theme, chèn từ khóa vào trang web, bán hàng online,