Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

แปลงการเข้ารหัส ASCII เป็น UTF-8 ใน PHP หรือไม่


หากเรารู้ว่าการเข้ารหัสปัจจุบันเป็น ASCII ค่า 'iconv' สามารถใช้ฟังก์ชันเพื่อแปลง ASCII เป็น UTF-8 สตริงเดิมสามารถส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชัน iconv เพื่อเข้ารหัสเป็น UTF-8 ได้

ตัวอย่าง

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

สตริงที่มีอักขระพิเศษถูกกำหนดให้กับตัวแปร 'str' สิ่งนี้ถูกส่งผ่านไปยังฟังก์ชัน 'iconv' ด้วยการเข้ารหัสที่มีอยู่ในปัจจุบัน และการเข้ารหัสที่จำเป็นต้องแปลงเป็น

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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

อีกวิธีหนึ่งคือการตรวจจับการเข้ารหัสแล้วแปลงเป็นการเข้ารหัสที่เหมาะสม -

ตัวอย่าง

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

ค่าสตริงที่มีอักขระพิเศษถูกกำหนดให้กับ 'string; ตัวแปร. สิ่งนี้ถูกส่งไปยังฟังก์ชัน 'mb_convert_encoding' ที่แปลงเป็นการเข้ารหัสเป้าหมาย

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

UTF-8UTF-8