Trong PHP, hàm mb_check_encoding() được dùng để kiểm tra xem các chuỗi cho trước có hợp lệ cho mã hóa chỉ định hay không. Hàm này kiểm tra luồng byte chỉ định có hợp lệ cho mã hóa chỉ định hay không.
Cú pháp
bool mb_check_encoding(array|string|null $value = null, ?string $encoding = null)
Lưu ý: Hàm sẽ kiểm tra luồng byte chỉ định có hợp lệ cho mã hóa chỉ định. Nếu giá trị cho là kiểu mảng, tất cả khóa và giá trị sẽ được kiểm tra đệ quy. Điều này ngăn chặn tấn công mã hóa không hợp lệ.
Tham số
mb_check_encoding() chấp nhận hai tham số: $value và $encoding.
$value – Luồng byte hoặc mảng cần kiểm tra. Nếu bị bỏ qua, kiểm tra tất cả đầu vào từ đầu request.
$encoding – Mã hóa kỳ vọng.
Giá trị trả về
mb_check_encoding() trả về true khi thành công hoặc false khi thất bại.
Ví dụ
<?php
// Dùng mb_check_encoding kiểm tra chuỗi có hợp lệ
$bool = mb_check_encoding("Hello world", "ASCII");
// Trả về true
var_dump($bool);
?>
Kết quả
bool(true)
Lưu ý: Hàm mb_check_encoding() nullable không được phép ở các phiên bản trước nhưng từ PHP 8.0, ta có thể dùng giá trị nullable và encode. Từ PHP 7.2, hàm mb_check_encoding chấp nhận mảng làm giá trị, trước đó chỉ hỗ trợ chuỗi.