Computer >> Máy Tính >  >> Lập trình >> PHP

Chuyển đổi mã hóa ASCII sang UTF-8 trong PHP?

Nếu chúng tôi biết rằng mã hóa hiện tại là ASCII, thì 'iconv' có thể được sử dụng để chuyển đổi ASCII sang UTF-8. Chuỗi ban đầu có thể được chuyển dưới dạng tham số cho hàm iconv để mã hóa nó thành UTF-8.

Ví dụ

<?php
   $str = "ábrêcWtë";
   echo 'Original :', ("$str"), PHP_EOL;
   echo 'Plain :', iconv("UTF-8", "ISO-8859-1", $str), PHP_EOL;
?>

Một chuỗi có các ký tự đặc biệt được gán cho biến ‘str’. Điều này được chuyển cho hàm ‘iconv’, với mã hóa hiện tại và mã hóa mà nó cần được chuyển đổi sang.

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Original :ábrêcWtë Plain :�br�cWt�

Một phương pháp khác là phát hiện mã hóa và sau đó chuyển đổi nó thành một mã hóa thích hợp -

Ví dụ

$string = "ábrêcWtë";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));

Một giá trị chuỗi với các ký tự đặc biệt được gán cho ‘string; Biến đổi. Điều này được chuyển đến hàm ‘mb_convert_encoding’ để chuyển nó thành mã hóa đích.

Đầu ra

Điều này sẽ tạo ra kết quả sau -

UTF-8UTF-8