Câu hỏi mà bạn đã liên kết đến đã loại trừ mã hóa DB khỏi nguyên nhân do sự cố đã xảy ra trong quá trình in/hiển thị lại giá trị đã gửi trước khi lưu trong DB. Vì vậy, vấn đề là trong mã hóa yêu cầu HTTP.
URL kết nối JDBC của bạn với charset quy định,
jdbc:mysql://localhost:3306/mydb?useUnicode=yes&characterEncoding=UTF-8
chỉ nói với người lái xe MySQL JDBC sử dụng UTF-8 để giải mã các giá trị trong các truy vấn SQL trước khi gửi nó vào DB. Điều này không chỉ hoàn toàn nằm ngoài phạm vi của JSF, nhưng đây cũng không phải là nguyên nhân của vấn đề của bạn, miễn là bạn hoàn toàn lạc quan rằng bạn cũng gặp vấn đề tương tự như trong câu hỏi được liên kết.
prolog XML của bạn với charset quy định,
<?xml version='1.0' encoding='UTF-8' ?>
chỉ nói với các phân tích cú pháp XML để sử dụng UTF-8 để giải mã các nguồn XML trước khi xây dựng cây XML xung quanh nó. Trình phân tích cú pháp XML thực sự được sử dụng là SAX được sử dụng trong nội bộ bởi Facelets trong thời gian xây dựng khung nhìn JSF. Phần này hoàn toàn không liên quan gì đến mã hóa yêu cầu/đáp ứng HTTP và do đó rất khó có thể gây ra vấn đề của bạn.
Không ai trong số họ đặt mã hóa yêu cầu HTTP, trong khi bạn cần đặt mã hóa yêu cầu HTTP. Câu hỏi mà bạn đã liên kết đã cho thấy cách thực hiện điều đó cho máy chủ Glassfish. Trong trường hợp của bạn, bạn đang sử dụng JBoss AS server. Các thiết lập cụ thể Glassfish sau đó là không thể áp dụng và JBoss không hỗ trợ bất cứ điều gì như thế. Bạn sẽ cần phải mang theo một bộ lọc servlet tùy chỉnh để thực hiện công việc. Ví dụ.
@WebFilter("/*")
public class CharacterEncodingFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
// ...
}
Nó là không thể hiểu được vấn đề của bạn là gì. Vui lòng chỉnh sửa câu hỏi của bạn để làm rõ vấn đề bạn gặp phải. – skuntsel
Sự cố của tôi giống với liên kết này [http://stackoverflow.com/questions/9682476/character-encoding-jsf-input]. Tôi đang sử dụng Jboss 7 AS thay vì Glassfish. Tôi muốn hỏi làm thế nào để khắc phục vấn đề trong Jboss. –