Kết quả trả về hàm preg_match trong php ko hỗ trợ unicode

em đang sử dụng preg_match để lấy kết quả so khớp, nhưng kết quả hiện trả về ko fai là unicode.

$str = '"name":"Chiến Thắng","id":"123456"';
$patt = '#name":"(.*?)",#u';
preg_match($patt, $page, $matches);
	if(isset($matches[1])){
	    echo $matches[1];
}

kết quả lấy dc là Chi\u1ebfn Th\u1eafng chứ ko phải Chiến Thắng.

ai giúp em vs ạ. em cảm ơn!

em gửi dữ liệu qua ajax, gửi ID đến server và trả về name vào 1 ô input ạ, nhưng kết quả ko fai là utf8 :(((

thử thay như bên dưới xem sao nhé

$patt = ‘(UTF8)#name":"(.?)",#u’;

1 Like

Mình thấy dữ liệu đó như là json thì phải

Nếu phía sv và client đều do bạn code, sao không dùng chung kiểu dữ liệu để tách

Dùng json thì phía client sẽ JSON.parse, server sẽ json_decode

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?