Tôi đang tạo ứng dụng gwt lưu trữ văn bản của các trang web ngẫu nhiên trong trường văn bản kho dữ liệu. Thường thì văn bản được định dạng UTF-8. Tất cả các tệp của ứng dụng của tôi được lưu trữ dưới dạng UTF-8 và khi tôi chạy ứng dụng trên máy cục bộ của mình, toàn bộ quá trình hoạt động tốt. Văn bản UTF-8 được lưu trữ như vậy và có thể truy xuất được phiên bản cục bộ của công cụ ứng dụng dưới dạng UTF-8. Tuy nhiên khi tôi triển khai ứng dụng cho công cụ ứng dụng google ở đâu đó giữa khi tôi lưu trữ văn bản và khi tôi truy xuất văn bản, nó không còn là UTF-8 khiến các ký tự không phải ascii được hiển thị như thế nào?Google App Engine DataStore Text Sự cố mã hóa UTF-8
Khi tôi xem kho dữ liệu trong bảng điều khiển appengine, tất cả các ký tự đặc biệt sẽ xuất hiện? dẫn tôi tin rằng đó là vấn đề khi viết vào cơ sở dữ liệu.
Có ai biết cách sửa lỗi này không?
Bản thân ứng dụng hơi lớn. Đây là một số mã giả:
Text webPageText = new Text(<STRING THAT CONTAINS UNICODE CHARACTERS>);
/*Some Code to store Text object on datastore
Specifically I'm using javax.jdo.PersistenceManager to do this.
Some Code to retrieve text from datastore. */
String retrievedText = webPageText.getValue();
Vấn đề là retrievedText quay lại? thay vì các ký tự unicode.
Đây là vấn đề tương tự trong python mà tôi đã tìm thấy: Trying to store Utf-8 data in datastore getting UnicodeEncodeError. Mặc dù ứng dụng của tôi không nhận được bất kỳ lỗi nào.
Thật không may tôi nghĩ chuỗi Java là mặc định utf-8 và tôi không thể tìm thấy bất kỳ mã nào cho phép tôi khai báo rõ ràng là utf-8.
Chỉnh sửa: Tôi hiện đã tạo một ứng dụng web nhỏ có văn bản unicode và lưu trữ nó trong kho dữ liệu và sau đó truy xuất nó mà không gặp vấn đề gì. Tôi vẫn không có ý tưởng nơi mà vấn đề là trong mã nguồn ban đầu của tôi nhưng tôi sẽ thay đổi cách mã của tôi xử lý truy xuất trang web để phù hợp với các ứng dụng nhỏ hơn mà tôi vừa xây dựng. cám ơn sự giúp đỡ từ mọi người.
Bạn có thể đăng các bit liên quan của mã không? –
Bạn nói rằng bạn nghĩ rằng vấn đề là với lưu trữ và truy xuất, sau đó không bao gồm mã bạn đang sử dụng để lưu trữ và truy xuất dữ liệu! Chúng tôi cần mã có liên quan nếu chúng tôi trợ giúp. –
Nguồn cho toàn bộ dự án hiện được đăng ở trên. Trong một vài giờ, tôi sẽ cố gắng tạo ra một phiên bản nhỏ tái tạo vấn đề. –