Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Nefunguje kódování češtiny při komunikaci přes JAVA New I/O

Zdravím,
sice ani moc nedoufám, že by to tady někdo věděl, když mi nedokázali odpovědět ani na builder.cz, ale přesto to sem zkusím dát. Takže, mám napsanou chatovací aplikaci (JAVA program k bakalářce, má serverovou a klienstou část) přes New I/O, všechno funguje jak má, jen mi nejdou odesílat zprávy obsahující české znaky, zprávy bez českých znaků se mi mezi klienty posílají normálně (komunikace mezi klienty probíhá přes server). Klient má jednoduché GUI složené z JTextArea, JTextField, a JButton pro odesílaní zpráv. Ve vlákně načítám příchozí zprávy z NIO serveru a zapisuji je metodou append() do JTextArea. Problém bude zřejmě v kodování znaků, jelikož se musí používat třídu CharsetDecoder asciiDecoder = Charset.forName("US-ASCII").newDecoder(); pro dekódování stringů z NIO bufferu. Zkoušel jsem změnit charset na všechny možnosti uváděné v dokumentaci k NIO API. Tady jsou:

US-ASCII   Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of
           the Unicode character set
ISO-8859-1 ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
UTF-8      UCS Transformation Format
UTF-16BE   Sixteen-bit UCS Transformation Format, big-endian byte order
TF-16LE    Sixteen-bit UCS Transformation Format, little-endian byte order
UTF-16     Sixteen-bit UCS Transformation Format, byte order identified by an
           optional  byte-order mark

S ISO-8859-1 to fungovalo nejlépe, zprávy se posílaly, ale zase byly místo některých českých znaků otazníky. Neví někdo, co stím? Jsem v koncích. :-(

Díky!
MaSo

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny