Tôi nhận được hộp lovely đáng yêu, nơi các ký tự tiếng Tây Ban Nha sẽ được hiển thị. (ví dụ: ñ, á, vv). Tôi đã thực hiện chắc chắn rằng meta http-equiv của tôi được thiết lập để utf-8:Ký tự tiếng Tây Ban Nha không hiển thị chính xác
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
tôi cũng đã thực hiện chắc chắn rằng tiêu đề trang được thiết lập cho utf-8 cũng:
header('Content-type: text/html; charset=UTF-8');
đây là các giai đoạn bắt đầu của mã của tôi, cho đến thời điểm này:
<?php
setlocale(LC_ALL, 'es_MX');
$datetime = strtotime($event['datetime']);
$date = date("M j, Y", $datetime);
$day = strftime("%A", $datetime);
$time = date("g:i", $datetime);
?>
<a href="/<?= $event['request'] ?>.html"><?= $day ?> <?= $time ?></a>
Mã trên nằm trong tuyên bố vị trí. Tôi đã đọc rằng việc chuyển đổi collation trong cơ sở dữ liệu cũng có thể là một yếu tố nhưng tôi đã có nó đặt thành UTF-8 General ci. Thêm vào đó, điều duy nhất trong cột đó là DateTime dù sao là số và không thể đối chiếu được.
kết quả: s bado 8:00
Bất kỳ trợ giúp nào được đánh giá cao như mọi khi.
bạn có buộc kết nối cơ sở dữ liệu mysql php phải là UTF không? có một db và đầu ra php của bạn trong UTF là vô nghĩa nếu kết nối php-> mysql là cái gì khác. đường dẫn hiển thị ** ENTIRE ** phải là bộ ký tự giống nhau hoặc được kết hợp với logic chuyển đổi bộ ký tự thích hợp ... nếu có sự không phù hợp ở bất kỳ giai đoạn nào, bạn sẽ nhận được các ký tự bị hỏng. –
Có phải default_charset cho php được đặt thành utf-8 không? – PoX
Có, tôi thiết lập kết nối với UTF 8 cũng ... mysql_set_charset ('utf8', $ connnection); – NotJay