PHP đặt mã hóa utf8

Bảo trọng. Bài viết này có thể đã lỗi thời hoặc ít nhất là một chút lơ là. Nó đã không được cập nhật trong một thời gian

2021-06-03Mã hóa/bộ ký tự không phải UTF-8

UTF-8 được coi là mã hóa mặc định. Bạn có thể đặt mã hóa khác theo cách thủ công — nếu bạn thực sự muốn. Đây là cách thay đổi mã hóa ký tự bằng fortrabbit

PHP

PHP viết mã hóa trong tiêu đề Content-type. Bộ ký tự mặc định là UTF-8Content-type: text/html; charset=UTF-8. Bạn có thể thay đổi bộ ký tự thông qua ________ 49 _______. Đây là một ví dụ

ini_set('default_charset', 'iso-8895-15');

Đảm bảo viết phần này trong tất cả các tệp PHP "gốc" của bạn. Ngoài ra, bạn có thể sử dụng phương thức header của PHP để đặt bộ ký tự một cách rõ ràng

header('Content-type', 'text/html; charset=iso-8859-1');

HTTP/Apache

Bất kỳ tệp tĩnh nào — .txt hoặc

header('Content-type', 'text/html; charset=iso-8859-1');
0 — được gửi trực tiếp qua Apache. Theo mặc định, Apache giả sử tệp là
header('Content-type', 'text/html; charset=iso-8859-1');
1. Bạn có thể thay đổi bộ ký tự thông qua chỉ thị
header('Content-type', 'text/html; charset=iso-8859-1');
2. Theo một ví dụ

AddDefaultCharset iso-8859-1

mysql

Khi bạn lưu trữ hoặc tìm nạp dữ liệu từ MySQL, bạn cần đảm bảo mã hóa cơ sở dữ liệu phù hợp khi bạn kết nối với nó. Hơn nữa, bạn có thể đặt mã hóa cụ thể cho các cột của mình

Để đặt mã hóa khác với UTF8 cho các phiên cơ sở dữ liệu của bạn từ PHP, bạn có thể sử dụng phương thức

header('Content-type', 'text/html; charset=iso-8859-1');
3. Đây là một ví dụ

Hàm utf8_encode() là một hàm sẵn có trong PHP được sử dụng để mã hóa chuỗi ISO-8859-1 thành UTF-8. Unicode đã được phát triển để mô tả tất cả các ký tự có thể có của mọi ngôn ngữ và bao gồm rất nhiều ký hiệu với một số duy nhất cho mỗi ký hiệu/ký tự. UTF-8 đã được sử dụng để chuyển ký tự Unicode từ máy tính này sang máy tính khác. Không phải lúc nào cũng có thể chuyển một ký tự Unicode sang máy tính khác một cách đáng tin cậy

cú pháp

string utf8_encode( string $string )

Thông số. Hàm này chấp nhận tham số duy nhất $string được yêu cầu. Nó chỉ định chuỗi ISO-8859-1 cần được mã hóa

Giá trị trả về. Hàm này trả về một chuỗi đại diện cho chuỗi được mã hóa khi thành công hoặc Sai khi thất bại

Ghi chú. Chức năng này có sẵn cho PHP 4. 0. 0 và phiên bản mới hơn

ví dụ 1




 

// String to encode

$string_to_encode ="\x63";

 

c
1

c
2
c
3$string_to_encode
c
5

 

c
7

đầu ra

________số 8_______

ví dụ 2




 

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
0

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
1 =
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
3
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
4

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
5
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
6
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
8
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
70
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
72
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
74
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
76
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
59
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7 1
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7 3
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7 5
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7 7
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7 9
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
5// String to encode2
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7// String to encode4
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7// String to encode6
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7// String to encode8
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7$string_to_encode0
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7$string_to_encode2$string_to_encode3

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
5$string_to_encode5
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7$string_to_encode7
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7$string_to_encode9
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7=1
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7=3
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7
7=5$string_to_encode3

Cách kiểm tra UTF

is_utf8() – kiểm tra UTF-8 . Nó quét một chuỗi để tìm các ký tự (hoặc byte) UTF-8 không hợp lệ và trả về false, nếu tìm thấy bất kỳ.

Cách đặt UTF

Nếu bạn có dữ liệu hiện có mà bạn muốn chuyển đổi sang UTF-8, hãy kết xuất cơ sở dữ liệu của bạn và nhập lại dưới dạng UTF-8 để đảm bảo. sử dụng SET NAMES utf8 trước khi bạn truy vấn/chèn vào cơ sở dữ liệu . sử dụng DEFAULT CHARSET=utf8 khi tạo bảng mới. tại thời điểm này, máy khách và máy chủ MySQL của bạn phải ở dạng UTF-8 (xem.

Cách chuyển đổi UTF

Xem thêm ¶ .
utf8_decode() - Chuyển đổi một chuỗi từ UTF-8 sang ISO-8859-1, thay thế các ký tự không hợp lệ hoặc không thể hiển thị
mb_convert_encoding() - Chuyển đổi một chuỗi từ mã hóa ký tự này sang ký tự khác
UConverter. transcode() - Chuyển đổi một chuỗi từ mã hóa ký tự này sang ký tự khác

Cách chuyển đổi ASCII sang UTF

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