КИРИЛИЦА?!?
10 отговора
306 прегледа
КИРИЛИЦА?!?
ще ми каже ли някой, как мога да извеждам съобщения на кирилица в java конзолата ?нали java използва Unicode , a не става.
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".
4ela sam njakolko tutoriali, no nikade ne sam
sreshtala reshenie na tozi problem.
za men sashto shte e interesno "kak stava nomeryt".
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();
}
}
}
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();
}
}
}
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
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
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
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
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("Това е кирилица");
}
}
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("Това е кирилица");
}
}
Re: &#1050;&#1048;&#1056;&#1048;&#1051;&#1048;&#1062;&#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
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
Re: &#1050;&#1048;&#1056;&#1048;&#1051;&#1048;&#1062;&#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.
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.
Re: &#1050;&#1048;&#1056;&#1048;&#1051;&#1048;&#1062;&#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
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
Re: &#1050;&#1048;&#1056;&#1048;&#1051;&#1048;&#1062;&#1040;?!?
daj si mail-a da ti go pratq
(izglezda forumite neshto se ebavat s kvadratnite skobichki)
(izglezda forumite neshto se ebavat s kvadratnite skobichki)
Re: &#1050;&#1048;&#1056;&#1048;&#1051;&#1048;&#1062;&#1040;?!?
yontchew@hotmail.com