Tôi đang cố gắng phân tích cú pháp tệp XML, nhưng đã chạy vào thông báo lỗi "chuỗi không hợp lệ 2 của chuỗi UTF-8 2 byte. Không ai biết điều gì đã gây ra sự cố này ? Cảm ơn.byte không hợp lệ 2 của chuỗi UTF-8 2 byte
Trả lời
hoặc là phân tích cú pháp được thiết lập cho UTF-8 mặc dù các tập tin được mã hóa bằng cách khác, hoặc các tập tin được khai báo là sử dụng UTF-8 nhưng nó thực sự không.
phổ biến nhất đó là do cho ăn ISO-8859-x
(Latin-x, như Latin-1), nhưng phân tích cú pháp cho rằng nó đang nhận được UTF-8
. Một số chuỗi ký tự Latinh-1 (hai ký tự liên tiếp có dấu trọng âm hoặc dấu âm) tạo thành thứ không hợp lệ như UTF-8
. đầu tiên b yte, byte thứ hai có các bit thứ tự cao bất ngờ.
này có thể dễ dàng xảy ra khi một số quá trình bãi ra XML
sử dụng Latin-1, nhưng một trong hai quên để ra XML
khai (trong trường hợp này XML
phân tích cú pháp phải mặc định UTF-8
, theo XML
thông số kỹ thuật), hoặc tuyên bố đó là UTF-8
ngay cả khi nó không phải.
Bất kỳ đề xuất nào về cách sửa lỗi đó? Tôi đã gặp phải vấn đề này khi xác định tác vụ kiến bằng cách sử dụng thư viện XMLTask của bên thứ ba. – AgentKnopf
Đó là khó khăn sau đó; nếu không những gì thường được thực hiện là tạo một InputStreamReader một cách rõ ràng cho mã hóa cụ thể, sau đó đưa nó vào trình phân tích cú pháp XML. Nhưng không chắc chắn phải làm gì với Ant ... ngoài việc tự sửa chữa tập tin XML, nếu có thể. – StaxMan
Tôi đã tìm ra vấn đề - Trong một trong những xml của tôi, tôi đã có một Umlaut (ä, ö, ü) mà bằng cách nào đó đã hơi say lên khi tôi chuyển đổi tập tin xml thành các định dạng khác nhau. Một khi tôi gỡ bỏ Umlaut nó đã làm việc ra. – AgentKnopf
Bạn có thể thử thay đổi mã hóa ký tự mặc định được String.getBytes() sử dụng thành utf-8. Sử dụng tùy chọn VM -Dfile.encoding = utf-8.
Tôi gặp vấn đề tương tự. Vấn đề của tôi là tôi đã tạo một tệp XML mới với jdom và FileWriter (xmlFile). FileWriter không thể tạo tệp UTF-8. Thay vì sử dụng FileOutputStream (xmlFile) giải quyết nó.
Đối với những người vẫn gặp lỗi như vậy.
từ UTF-8 đang được sử dụng séc ra tài liệu xml của bạn cho bất kỳ chữ cái la tinh hoặc lâu hơn: tôi đã cùng một vấn đề và lý do được tôi đã này:
<n:name>Åke Jógvan Øyvind</n:name>
Hope this helps
Tôi đã có cùng một vấn đề quá khi cố gắng nhập tệp .xml của tôi vào công cụ java của tôi. Và tôi đã tìm thấy một giải pháp tốt cho việc này: 1. Mở tệp .xml bằng Notepad ++ rồi lưu tệp .xml dưới dạng tệp .rtf. Sau đó mở tệp này trong ứng dụng WordPad. 2. Lưu tệp .rtf dưới dạng tệp .txt, sau đó mở tệp bằng Notepad và lưu tệp đó dưới dạng tệp .xml một lần nữa. Khi lưu trong Notepad, gần cuối cửa sổ bật lên, hãy đảm bảo chọn tùy chọn "Mã hóa: UTF-8". Nó làm việc cho tôi, hy vọng nó cũng hữu ích cho bạn.
- 1. MalformedByteSequenceException: byte không hợp lệ 2 của chuỗi UTF-8 2 byte
- 2. Python 2 đến 3 byte/chuỗi lỗi
- 3. Chuỗi con hoặc phương thức CharacterAt cho chuỗi UTF8 có 2+ byte trong JAVA
- 4. Thông báo "Invalid byte 2 của một chuỗi UTF-8 3 byte" có nghĩa là gì?
- 5. Rails 3, Heroku - PGError: ERROR: chuỗi byte không hợp lệ để mã hóa "UTF8":
- 6. 2 byte để ngắn java
- 7. Tôi có UTF-8 - nhưng vẫn nhận được "byte không hợp lệ 1 của chuỗi UTF-8 1 byte"
- 8. haskell - chuỗi byte trang mã không hợp lệ
- 9. Java unsigned byte [2] để int?
- 10. Chuyển đổi 2 byte thành một số
- 11. Chuyển đổi 2 byte thành số nguyên
- 12. Codec Python to_excel 'utf8' codec không thể giải mã byte
- 13. của Ruby String.encode vẫn mang lại cho "chuỗi byte không hợp lệ trong UTF-8"
- 14. C#: Chuyển đổi byte [] thành chuỗi được mã hóa UTF8
- 15. Giải thích về lỗi JAXB: byte không hợp lệ 1 trong tổng số 1-byte UTF-8 chuỗi
- 16. Android: có ngắn thực sự mất 2 byte?
- 17. codec utf8 không thể giải mã byte 0x96 trong python
- 18. Chuỗi # mã hóa không sửa "chuỗi byte không hợp lệ trong UTF-8" lỗi
- 19. Có cách nào trong ruby 1.9 để xóa chuỗi byte không hợp lệ khỏi chuỗi không?
- 20. Chuỗi trình tự byte không hợp lệ của Ruby trong UTF-8
- 21. của Ruby 'chia': không hợp lệ byte chuỗi trong UTF-8 (ArgumentError)
- 22. Tại sao DataOutputStream.writeUTF() thêm 2 byte vào đầu?
- 23. Cách nhận kích thước byte của chuỗi nhiều byte
- 24. 2 byte đại diện cho 3 số nguyên trong C
- 25. Khi gói chạy có chuỗi byte không hợp lệ trong US-ASCII
- 26. org.codehaus.jackson.JsonParseException: byte trung gian UTF-8 không hợp lệ 0xdf
- 27. không hợp lệ byte chuỗi trong US-ASCII (Ruby 1.9 + ray 2.3.8 + MongoDB + mongo_mapper)
- 28. Rails, Heroku và chuỗi byte không hợp lệ trong lỗi UTF-8
- 29. RVM, Ruby 1.9.2, Rails 2.3.8, Hành khách và "chuỗi byte không hợp lệ trong US-ASCII"
- 30. bó cài đặt báo lỗi "không hợp lệ byte chuỗi trong US-ASCII (ArgumentError)"
bạn phân tích cú pháp tệp xml như thế nào? – jtahlborn