Znaki specjalne - java

Znaki specjalne - java
A9
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 10 lat
  • Postów:17
0

Mam taki problem, chciałbym wyświetlać znaki specjalne w javie, np. symbol Pi itd. Wpisując w Eclipse kod litery PI "\u03A0" po kompilacji wyskakuje znak zapytania, ogólnie niektóre znaki specjalne się wyświetlają bez problemu, natomiast przy niektórych (np. PI) wyskakuje znak zapytania.

0

Może trzeba zmienić kodowanie (strzelam)

DC
  • Rejestracja:około 12 lat
  • Ostatnio:około 7 lat
  • Postów:52
0

Ale jak kompilujesz i uruchamiasz w Eclipse czy poza ? Spróbuj poza ja tak miałem z polskimi znakami

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Konsola czy programem z GUI? Jeśli GUI, to jaka czcionka? U mnie (windows xp) w programach z GUI dla czcionki domyślnej (Dialog) i dla monospaced wyświetla się małe i duże pi.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
A9
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 10 lat
  • Postów:17
0

Odpalałem w konsoli i dalej ten sam efekt, czyli wyświetlający się znak zapytania. W eclipsie tez to samo. Ustawioną mam czcionkę Consolas. W Dr. Java przestawiłem czcionkę na Consolas i PI i inne znaki się wyswietlaja. A w eclipsie dalej nic.

0

A nie masz ty po prostu czcionki ustawionej ktora nie ma takich glyphow ('literek')? Kodowanie nie ma tu znaczenia, przeciez podaje escapowane kody.

Madaoo
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad rok
  • Postów:490
1

Wersja na siłe - możesz skopiować to :P

Kopiuj
System.out.println("π"); 
System.out.println("\u03c0"); // to działa przy kodowaniu znaków utf8 na konsoli 

"Chodzenie po wodzie i tworzenie oprogramowania wg specyfikacji są łatwe, o ile woda i specyfikacja są zamrożone" - Edward V. Berard
A9
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 10 lat
  • Postów:17
0

Madaoo dzięki. Zmieniłem kodowanie na UTF-8 i wszystko śmiga.
... Ale teraz jest problem z polskimi znakami. Nie ma jakiegoś złotego środka, zostawi bez zmian polskie znaki i będzie wyświetlał znaki specjalne ? Przy kodowaniu Cp1250 mam polskie znaki , ale nie mam znaków specjalnych , przy kodowaniu UTF-8 są znaki specjalne, ale jest problem ze znakami polskimi.

edytowany 1x, ostatnio: andrzejj915
Madaoo
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad rok
  • Postów:490
0

Hmmm kodowanie iso-8859-2, powinno załatwić sprawę, jak nie to locale ustasw tak:

Kopiuj
// ustawienie lokalnych systmemowych
Locale plLocale = new Locale("pl", "PL");
Locale.setDefault(plLocale);

Sprawdź, jak nie zadziała to jest jeszcze kilka sposobów ze znakami specjalnymi i polskimi znakami ;)


"Chodzenie po wodzie i tworzenie oprogramowania wg specyfikacji są łatwe, o ile woda i specyfikacja są zamrożone" - Edward V. Berard
Olamagato
  • Rejestracja:ponad 16 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Polska, Warszawa
  • Postów:1058
1

Użyj kodowania Unicode - może być utf-32, utf-16 (BE/LE), utf-8 - bez znaczenia ponieważ w pamięci Javy i tak jest używany UTF-16LE (little endian) oraz na wyjściu aktywnej czcionki "Deja Vu", która istnieje na pewno w Windows 7 (nie wiem jak z licencjami). Ona zawiera prawie 6k znaków, a więc mapuje całkiem pokaźny kawał unikodu i jednocześnie zawiera polskie znaki. Na pewno można więc używać zarówno symbolu pi, trupiej czaszki i inwalidy oraz polskich liter. ;-)
Inne czcionki zawierają zazwyczaj, albo symbole bez znaków narodowych, albo znaki narodowe bez symboli. Do tego nakłada się jeszcze mapowanie 8-bitowe, które może nie pozwalać na połączenie pi i znaków narodowych w jednym subsecie (chyba żadne jakie znam nie pozwala).


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?
edytowany 1x, ostatnio: Olamagato

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.