Skocz do zawartości
  • 0

Polskie znaki w pluginach


Rafep

Pytanie

Cześć! :) Ostatnio zacząłem uczyć się pisać pluginy do minecrafta i napotkałem jeden problem:

Gdy chcę wysłać jakąś wiadomość do gracza itp. i wpisuje tam jakiś polski znak, to w grze on zamienia się na znak zapytania w kwadracie.

Wie ktoś może jak to naprawić? :< Używam Eclipse do pisania pluginów i jestem na wersji 1.15.1.

Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/
Udostępnij na innych stronach

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

@Queito Jeśli dobrze zrozumiałem (a pewnie tak nie było) to chodziło Ci o zmienienie języka w eclipse? (zrobiłem w sensie to co tutaj: https://stackoverflow.com/questions/4947484/how-to-set-eclipse-console-locale-language)

Nie pomogło :( 

Edytowane przez Rafep
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231682
Udostępnij na innych stronach

  • 0
Teraz, Rafep napisał:

@Queito Jeśli dobrze zrozumiałem (a pewnie tak nie było) to chodziło Ci o zmienienie języka w eclipse?

Nie pomogło :( 

w kliencie. + pozmieniaj formatowanie w kodzie na utf-8 jak się da

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231683
Udostępnij na innych stronach

  • 0
Gość KuzynProcesor

Skoro mówisz, że w grze ci zmieniło, to pewnie masz coś takiego:

sender.sendMessage("Pewna wiadomość z polskimi znakami");
// sender nie ma znaczenia, bez spiny :)

I jak się wysłało to coś takiego:

Pewna wiadomo�� z polskimi znakami

Proponowałbym zmienić kodowanie. Ale to java i jej JARy

Znalazłem coś takiego. Może ci pomoże:

https://stackoverflow.com/questions/45480397/polish-characters-in-file-java

https://gist.github.com/PiotrNowicki/2823742 (konwerter polskich liter na id symboli UTF-8, piszesz sobie normałnie ĄĘĆŹŻÓŁŃ a to ci pinknie zmienia ( chyba:kappasanta:));

 

EDIT:

Możesz też spróbować ustawić coś takiego: ustawiasz sobie stringa, zamieniasz w nim np. ł na \\u0142 i wysyłasz tego stringa.

 

Edytowane przez KuzynProcesor
zły symbol wklepałem :)
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231752
Udostępnij na innych stronach

  • 0

@KuzynProcesor Ok udało mi się zmienić kodowanie Eclipse na UTF-8 i nie pomogło.

Konwertera używać nie umiem. Za to pomysł z zamianą po prostu liter na te fikuśne ciągi znaczków wydawał się być dobry, sprawdziłem, czy te znaczki na pewno działają i... nie działają. Pewnie coś robię źle, coś źle rozumiem (jak zawsze ._.) Zrobiłem takie coś:

sender.sendMessage("\\u0105");

no i wyświetla się "\u0105" zamiast "ą". Co dziwne, wyświetla się tylko z jednym "/" zamiast z dwoma, tak jak zapisane jest w Eclipse :0

Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231830
Udostępnij na innych stronach

  • 0

 
public static String Color(String s) {
    return ChatColor.translateAlternateColorCodes('&', s.replace("((o))", "ó").replace("((n))", "ń").replace("((l))", "ł").replace("((s))", "ś").replace("((a))", "ą").replace("((n))", "ń").replace("((c))", "ć"));
}
Dodaj sobie kilka polskich jeszcze znaków i będzie ci działać raczej :)

 

 

Edytowane przez Verdun1337
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231975
Udostępnij na innych stronach

  • 0

@HotAngel2K17  

java -Xmx1G -jar mc.jar
-Dfile.encoding=UTF8
pause

Tak to wygląda u mnie. Ale i tak to nie jest w sumie dobre rozwiązanie, bo gdy skończę testować serwer na komputerze, będę chciał go przerzucić na hosting, na którym pliku run.bat już nie mogę edytować 😧

@Verdun1337 OMUJBOSZEDZIAŁA.

Tylko, że nadal jest mały problem... *ykhym* to jest dość niewygodne, takie wpisywanie zamiast np. "ś" tego "((s))". No, ale cóż, jeśli nie ma innego rozwiązania będę używał tego. Dziękuje Ci, młody dżentlemenie za pomoc.

 

EDIT: O! Mam jeszcze lepsze rozwiązanie! :D 

return ChatColor.translateAlternateColorCodes('&', s.replace("ś", "ś"))

takie coś! Zamienia "ś" na "ś" i działa! W kodzie normalnie wpisuje "ś" i w mc też jest "ś"! Klawo!

Temat do zamknięcia :> 

EDIT 2: Ok co to jest za brzydalskie diabelstwo D:)

Jak robię:

sender.sendMessage(Utils.tl("Klawość"));

//zmieniłem nazwę metody ChatColor na tl

to wszystko ładnie działa, ale gdy robię:

sender.sendMessage(Utils.tl(plugin.getConfig().getString("jakies_cos")));

to nie zamienia mi tego i nadal jest znak zapytania w kwadracie, smutek.

(to jest to z moją metodą replace("ś", "ś"))

 

EDIT numero 3: Ok dobra, sprawdziłem config i... Tam się pozamieniały wszystkie polskie znaki na � D:) 

Więc zmieniłem na polskie znaki spowrotem i wszystko działa! :D 

Tylko czemu się tam zmieniły te polskie znaki na �?

I co jeśli znowu się zamienią? D:)

Tak wiele pytań... Mamo, przytul... :( 

Edytowane przez Rafep
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-231987
Udostępnij na innych stronach

  • 0
Gość Usunięty#17290
W dniu 27.12.2019 o 15:15, Rafep napisał:

 


sender.sendMessage(Utils.tl("Klawość"));

//zmieniłem nazwę metody ChatColor na tl

to wszystko ładnie działa, ale gdy robię:


sender.sendMessage(Utils.tl(plugin.getConfig().getString("jakies_cos")));

 

Czemu używasz sender.sendMessage zamiast zrobić sobie klasę Utils a w niej:
 

public class Utils {
    public Utils() {
    }

    public static String color(String s) {
        return ChatColor.translateAlternateColorCodes('&', s);
    }

    public static void sendMsg(Player player, String message) {
        player.sendMessage(color(message));
    }

    public static void sendMsg(CommandSender commandSender, String message) {
        commandSender.sendMessage(color(message));
    }
}

i wtedy w kodzie wpisujesz Utils.sendMsg(sender, "&cTreść, &rbla bla bla")

Edytowane przez CsSkrouble
Odnośnik do komentarza
https://skript.pl/temat/36205-polskie-znaki-w-pluginach/#findComment-232384
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...