КИРИЛИЦА?!?

10 отговора 306 прегледа
#1

КИРИЛИЦА?!?

ще ми каже ли някой, как мога да извеждам съобщения на кирилица в java конзолата ?нали java използва Unicode , a не става.

Отговор
в отговор на ceco #2

Re: КИРИЛИЦА?!?

az sashto ot skoro se zanimavam s Java.
4ela sam njakolko tutoriali, no nikade ne sam
sreshtala reshenie na tozi problem.
za men sashto shte e interesno "kak stava nomeryt".

Отговор
в отговор на ceco #3

reshenie

public class cyr {

public static void main(String args[])
{
String JavaString = "Това е на кирилица!";
try {
// output to the console
Writer w = new BufferedWriter
(new OutputStreamWriter(System.out, "cp866"));
w.write(JavaString);
w.flush();
w.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}

Отговор
в отговор на maja #4

Re: КИРИЛИЦА?!?

Ami spored men problemyt ne e w Java ...
Predpolagam che polzwate Java pod MSWindows

Mislq che kirilitzata ne izliza zaradi font-a na consolata !
Az sym pod win2k i probwah smqna na regional settings no ne stana. Probwah i smqna na font-a na consolata , no za syvalenie mi dawa da izbiram samo mevdu
Lucida Console i Raster Fonts, koito ochewidno nqmat kirilica ...

Ako nqkoj znae kak da se slovi drug font za konzolata, molq, neka spodeli :))


pochitaniq ,
Yontchew

Отговор
в отговор на sun #5

Re: reshenie

Dori po tozi nachin pak opirame do syshtiq problem pod w2k - i na Bulgarian regional settings i na English ....

Predpolagam che ako si s w2k imash programa (ili ti nqkak si rychno si go naprawil), koqto e slovila cyriliziran font za konzolata. Az imam takyw wkyshti pod win98 - tam mi go slovi FlexType-a i nqma nikakyw problem s cyr-a.

pochitaniq,
Yontchew

Отговор
в отговор на ceco #6

Re: КИРИЛИЦА?!?

import java.io.*;

public class TestC extends PrintStream {
PrintWriter writer;
PrintStream out;

public TestC(String encoding) throws UnsupportedEncodingException {
this( System.out, encoding );
}

public TestC(OutputStream os, String encoding) throws UnsupportedEncodingException {
super(os);
this.out = System.out;
this.writer = new PrintWriter(
new OutputStreamWriter( System.out, encoding ), true
);
}

public void close() {
super.close();
writer.close();
}
public boolean checkError() { return writer.checkError(); }
public void flush() { writer.flush(); }
public void print(boolean x) { writer.print(x); }
public void print(char x) { writer.print(x); }
public void print(char[] x) { writer.print(x); }
public void print(double x) { writer.print(x); }
public void print(float x) { writer.print(x); }
public void print(int x) { writer.print(x); }
public void print(long x) { writer.print(x); }
public void print(Object x) { writer.print(x); }
public void print(String x) { writer.print(x); }
public void println() { writer.println(); }
public void println(boolean x) { writer.println(x); }
public void println(char x) { writer.println(x); }
public void println(char[] x) { writer.println(x); }
public void println(double x) { writer.println(x); }
public void println(float x) { writer.println(x); }
public void println(int x) { writer.println(x); }
public void println(long x) { writer.println(x); }
public void println(Object x) { writer.println(x); }
public void println(String x) {
writer.println(x);
}

public void write(int b) { writer.write(b); }
public void write(byte[] buf, int off, int len) {
if( buf != null ) {//convert to char
char[] c = new char[len];
for( int i=off; i<len; i++) {
c = (char)buf;
}
writer.write(c, off, len);
}
}

public static void main(String[] args) throws Exception {
// set this and then System.out will show cyr strings.
System.setOut( new TestC("cp866") );

// output some cyr stings.
System.out.println("Това е кирилица");
}
}

Отговор
в отговор на fir4o #7

Re: &amp;#1050;&amp;#1048;&amp;#1056;&amp;#1048;&amp;#1051;&amp;#1048;&amp;#1062;&amp;#1040;?!?

S koq Java go kompilirash towa ?

Na men mi dawa

.................\JAVA\TestC.java:52: inconvertible types
found : byte[]
required: char
c = (char)buf;



Towa e waw
public void write(byte[] buf, int off, int len) {
if( buf != null ) {//convert to char
char[] c = new char[len];
for( int i=off; i<len; i++) {
c = (char)buf;
}
writer.write(c, off, len);
}
}

Ne sym spetz no mislq, che Java raboti s Unicode i --> wseki symbol se predstawq s 2 bytes - maj nqma kak da stane s byte--> char ... e oswen ako ne gi wzimash po dwa :)

Inache kato gledam ideqta ti pak e podobna kato ot predishniq posting ... i prodylvawam da mislq che nqma da se raisne tozi UnsupportedEncodingException :

Windows-a shte si pokave string-a na konzolata (kakto prawi i w momenta), no prosto toj nqma da se chete , z-to waw font-a nqma kirilitza ....

E ako nqkoj uspee da go naprawi wapreki towa - komplimenti predwaritelno :)))

Imam machine-a s 98 kadeto imam cyr font w consolata i tam pisha na cyr direktno s System.out.println("Директно .....");
i izliza OK

pochitaniq,
Yontchew

Отговор
в отговор на Yontchew #8

Re: &amp;#1050;&amp;#1048;&amp;#1056;&amp;#1048;&amp;#1051;&amp;#1048;&amp;#1062;&amp;#1040;?!?

Pri men tragna. Compilira se i raboti normalno. Promeni write methoda taka:

public void write(byte[] buf, int off, int len) {
if( buf != null ) {//convert to char
char[] c = new char[len];
for( int i=off; i<len; i++) {
c = (char)buf;
}
writer.write(c, off, len);
}
}

Nezavisimo che raboti, to niama da izpishe kirilichni simvoli bez niakoi dopalnitelni nastroiki. Ot kakvoto i IDE (DOS ili UNIX consola) da go pusnesh niama da pishe na kirilica, osven ako fonta ne e setnat pravilno. V nai dobria sluchai moje da izpishe ?????????? ?? ??? ili neshto podobno.

Java i Unicode si rabotiat pravilno, no problema idva ot toolsa, s koito se opitvash da displaynesh resultata. Ako pri nego ne e setnat pravilnia encoding i ako ne razpolaga s pravilnite simvoli, niama nishto da se poluchi.

Kirilichni textove mogat da badat pokazani avtomatichno na ekrana samo s niakoi ot browserite, no dori i pri tiah triabva da okajesh pravilen encoding za da niamash ???? po stranicata.

Отговор
в отговор на JAD #9

Re: &amp;#1050;&amp;#1048;&amp;#1056;&amp;#1048;&amp;#1051;&amp;#1048;&amp;#1062;&amp;#1040;?!?

Emi pak mi dawa inconvertible types :((( ne moga da go compiliram
Java 1.3 izpolzwam

TestC.java:61: inconvertible types
found : byte[]
required: char
c = (char)buf;
^
1 error


OK znachi wyprosyt opira do towa - kak da se smeni font-a na consolata pod win2k

Nekoj ako znae pls neka da kave .... (ama ot properties ne stawa - tam pokazwa samo 2 font-a koito ne sa cyr ... - nekyde drugade trqbwa da se pipne)

pochitaniq,
Yontchew

Отговор
в отговор на Yontchew #10

Re: &amp;#1050;&amp;#1048;&amp;#1056;&amp;#1048;&amp;#1051;&amp;#1048;&amp;#1062;&amp;#1040;?!?

daj si mail-a da ti go pratq
(izglezda forumite neshto se ebavat s kvadratnite skobichki)

Отговор
в отговор на fir4o #11

Re: &amp;#1050;&amp;#1048;&amp;#1056;&amp;#1048;&amp;#1051;&amp;#1048;&amp;#1062;&amp;#1040;?!?

yontchew@hotmail.com

Отговор