Judging from everything you've said, it seems like the original Odómet dịch - Judging from everything you've said, it seems like the original Odómet Việt làm thế nào để nói

Judging from everything you've said



Judging from everything you've said, it seems like the original Odómetro string you're dealing with is encoded with ISO 8859-1, not UTF-8.

Here's why I think so:

json_encode produced parseable output after you ran the input string through utf8_encode, which converts from ISO 8859-1 to UTF-8.
You did say that you got "mangled" output when using print_r after doing utf8_encode, but the mangled output you got is actually exactly what would happen by trying to parse UTF-8 text as ISO 8859-1 (ó is x63xb3 in UTF-8, but that sequence is ó in ISO 8859-1.
Your htmlentities hackaround solution worked. htmlentities needs to know what the encoding of the input string to work correctly. If you don't specify one, it assumes ISO 8859-1. (html_entity_decode, confusingly, defaults to UTF-8, so your method had the effect of converting from ISO 8859-1 to UTF-8.)
You said you had the same problem in Python, which would seem to exclude PHP from being the issue.

PHP will use the uXXXX escaping, but as you noted, this is valid JSON.

So, it seems like you need to configure your connection to Postgres so that it will give you UTF-8 strings. The PHP manual indicates you'd do this by appending options='--client_encoding=UTF8' to the connection string. There's also the possibility that the data currently stored in the database is in the wrong encoding. (You could simply use utf8_encode, but this will only support characters that are part of ISO 8859-1).

Finally, as another answer noted, you do need to make sure that you're declaring the proper charset, with an HTTP header or otherwise (of course, this particular issue might have just been an artifact of the environment where you did your print_r testing).
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Judging from everything you've said, it seems like the original Odómetro string you're dealing with is encoded with ISO 8859-1, not UTF-8.Here's why I think so: json_encode produced parseable output after you ran the input string through utf8_encode, which converts from ISO 8859-1 to UTF-8. You did say that you got "mangled" output when using print_r after doing utf8_encode, but the mangled output you got is actually exactly what would happen by trying to parse UTF-8 text as ISO 8859-1 (ó is x63xb3 in UTF-8, but that sequence is ó in ISO 8859-1. Your htmlentities hackaround solution worked. htmlentities needs to know what the encoding of the input string to work correctly. If you don't specify one, it assumes ISO 8859-1. (html_entity_decode, confusingly, defaults to UTF-8, so your method had the effect of converting from ISO 8859-1 to UTF-8.) You said you had the same problem in Python, which would seem to exclude PHP from being the issue.PHP will use the uXXXX escaping, but as you noted, this is valid JSON.So, it seems like you need to configure your connection to Postgres so that it will give you UTF-8 strings. The PHP manual indicates you'd do this by appending options='--client_encoding=UTF8' to the connection string. There's also the possibility that the data currently stored in the database is in the wrong encoding. (You could simply use utf8_encode, but this will only support characters that are part of ISO 8859-1).Cuối cùng, như là một câu trả lời đã nêu, bạn cần phải chắc chắn rằng bạn đang tuyên bố bộ ký tự thích hợp, với một tiêu đề HTTP hoặc bằng cách khác (Tất nhiên, vấn đề cụ thể này có thể đã chỉ là một artifact của môi trường nơi bạn đã thử nghiệm print_r của bạn).
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!


Đánh giá từ tất cả mọi thứ bạn đã nói, nó có vẻ như chuỗi Odómetro ban đầu bạn đang làm việc với được mã hóa với ISO 8859-1, không UTF-8. Đây là lý do tại sao tôi nghĩ như vậy: json_encode sản xuất đầu ra parseable sau khi bạn chạy các chuỗi đầu vào thông qua utf8_encode, mà chuyển đổi từ ISO 8859-1 sang UTF-8. Bạn có nói là bạn đã "đọc sai" đầu ra khi sử dụng print_r sau khi làm utf8_encode, nhưng đầu ra đã bị đọc sai bạn có thực sự là chính xác những gì sẽ xảy ra bằng cách cố gắng để phân tích UTF-8 văn bản như ISO 8859-1 (ó là X63 xb3 trong UTF-8, nhưng trình tự đó là ó trong ISO 8859-1. htmlentities bạn giải pháp hackaround làm việc. htmlentities cần phải biết những gì các mã hóa của chuỗi đầu vào để làm việc một cách chính xác. Nếu bạn không chỉ định một, nó giả ISO 8859-1. (html_entity_decode, gây nhầm lẫn, mặc định là UTF-8, vì vậy phương pháp của bạn có tác dụng chuyển đổi từ ISO 8859-1 sang UTF-8). Bạn nói rằng bạn đã có cùng một vấn đề trong Python, điều này dường như không bao PHP từ được vấn đề này. PHP sẽ sử dụng uXXXX thoát, nhưng như bạn lưu ý, đây là hợp lệ JSON. Vì vậy, nó có vẻ như bạn cần phải cấu hình kết nối của bạn để Postgres để nó sẽ cung cấp cho bạn UTF-8 dây. Tài liệu PHP cho thấy bạn muốn làm điều này bằng các tùy chọn thêm = '- client_encoding = UTF8' vào chuỗi kết nối. Ngoài ra còn có khả năng rằng các dữ liệu hiện đang được lưu trữ trong cơ sở dữ liệu trong bảng mã sai. (Bạn có thể chỉ cần sử dụng utf8_encode, nhưng điều này sẽ chỉ hỗ trợ các ký tự mà là một phần của tiêu chuẩn ISO 8859-1). Sau cùng, như một câu trả lời ghi chú khác, bạn cần phải chắc chắn rằng bạn khai báo các charset đúng đắn, với một HTTP header hay khác (tất nhiên, vấn đề này cụ thể đã chỉ là một tạo tác của môi trường nơi bạn đã làm xét nghiệm print_r của bạn).













đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: