Tôi đang làm việc trên trang web sử dụng/lưu trữ các ký tự có dấu trọng âm trong cơ sở dữ liệu. Tôi có trang mẫu thiết lập để các config.php biến charset phù hợp với khung cảnh, ví dụ:Bộ mã cấu hình CodeIgniter và hỗ trợ UTF-8
<meta charset="<?php echo $this->config->item('charset');?>">
Vấn đề tôi đang gặp là, khi $config['charset']
được thiết lập để UTF-8, hình thức xác thực không thành công và dường như không có ký tự nào được gửi nếu có một ký tự có dấu. Vì vậy, ví dụ, một trường bắt buộc sẽ trả về nếu á được đưa vào bất kỳ vị trí nào trong chuỗi. Chuỗi trừ á làm việc tốt.
tôi đã quản lý để làm việc này bằng cách thay đổi $config['charset']
để ISO-8859-1 và chuyển đổi văn bản sang UTF-8 trước khi chèn/sau khi lấy từ cơ sở dữ liệu với php của utf8_encode()
và utf8_decode()
. Đây có phải là cách tốt nhất hoặc tôi thiếu một cái gì đó cần thiết để có được UTF-8, với các nhân vật có dấu, làm việc trong CodeIgniter?
Bất kỳ lời khuyên nào được đánh giá cao.
Đảm bảo bạn đặt ở mọi nơi UTF-8. Thật khó để nói những gì sai, nhưng có lẽ tại một số điểm bạn có một bộ ký tự khác nhau. Phải đọc: http://www.joelonsoftware.com/articles/Unicode.html. – Styxxy