IntelliJ - memasukkan karakter UTF-8 non ASCII yang tidak lolos

Saya memiliki program di mana saya ingin memasukkan String yang berisi karakter Unicode yang tidak lolos, mis.

String s = "(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))"

Masalahnya adalah string ini sudah salah dibaca, karena karakter Unicode tidak di-escape, jadi jika saya segera mencetaknya, saya mendapatkan:

(¬(a) ⨠((¬(b) ⧠(c ⨠d)) ⨠e))

Sebabnya, jika saya keluar dari karakter Unicode dalam string, itu akan berfungsi dengan baik:

String s = "(\u00AC(a) \u2228 ((\u00AC(b) \u2227 (c \u2228 d)) \u2228 e))"
System.out.println(s); 

Output:
(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))

Namun, jika dibandingkan dengan masukan pertama, masukan kedua hanya dapat digambarkan sebagai hal yang tidak menyenangkan, dan semuanya tidak jelas.

Apakah ada cara untuk mempertahankan representasi visual, dan tetap berfungsi?

Pengkodean File adalah UTF-8.


person Sudix    schedule 04.08.2018    source sumber
comment
Sudahkah Anda mencoba menyimpan kode sumber sebagai UTF-8? blog .jetbrains.com/idea/2013/03/   -  person Malt    schedule 04.08.2018
comment
@Malt Ya, saya telah mengatur pengkodean ke UTF-8. Jika saya mis. buka di Notepad, itu juga akan ditampilkan sebagai Unicode yang benar   -  person Sudix    schedule 04.08.2018


Jawaban (1)


Pada dasarnya ketika Anda membaca String seperti itu di Java Anda dapat menyimpan presentasi, lihat contoh di sini: https://ideone.com/krMJRf

Hal yang sama juga berfungsi di aplikasi template InteliJ hello-world baru.

Saya kira tetapi Anda tidak menyebutkan dalam pertanyaan - bahwa Anda sedang membaca file. File tersebut harus memiliki pengkodean yang baik agar dapat berfungsi.

person Kamil Witkowski    schedule 04.08.2018
comment
Saya melakukan persis seperti yang Anda lakukan pada contoh Anda, dan itu tidak berhasil. Ternyata satu file dalam proyek Anda yang tidak dikodekan UTF-8 berarti tidak ada file lain (tidak peduli seberapa tidak terkaitnya) yang dapat dibaca dalam UTF-8. Terima kasih atas contoh kerjanya, jika tidak, saya tidak akan pernah menyadari bahwa ada kekhususan yang muncul dari struktur proyek saya! - person Sudix; 04.08.2018