:girl_cray2:
Написано однажды - работает везде? Как бы не так!!!!!!! (т.е. оно "типа работает" - но "немного иначе" :grum: )
Вообще-то пока всё латинскими буквами куда-нибудь вводится-выводится , то в это "скромное утверждение" можно даже и поверить.
Но вот если копнуть чуть глубже (когда приходится приложения на "рідній мові" делать :grum: ) , то начинаются сюрпризы.
Конечно же на экран всё можно гнать "картинками". Но ведь что-то из БД надо выводить. Да и записывать в БД - тоже надо (или в файлы куда-нибудь ). И тут начинается "Welcome to Hell".
(Java , а не PHP :grum: )Ну напишем что-то такое под Win XP (наберём текст в Notepad).PHP Code:import java.lang.*;
import java.io.*;
class Mx {
public static void main(String[] aa)
{
try {
FileWriter f=new FileWriter("hello.txt");
f.write("Привет!\n");
f.close();
} catch(IOException e) {
System.out.println("Err!\n");
};
}
}
Скомпилируем по javac -encoding CP1251 nonsense.java и запустим по java Mx. Данные в файл запишутся в кодировке windows-1251.
Теперь туже прогу запустим на java-машине под FreeBSD (или под Linux). Она даже компилироваться будет с такими же ключами - но данные в файл запишутся с ошибками перекодировки (не запишется кирилица).
Но если написать это чуть иначе - то всё будет работать "одинаково" и под *NIX , и под WinXP.
(Java :grum: )Просто для записи в файл тоже указывается перекодировка. Но всё что связано с графикой - с этим в смысле "вывода кирилицы" (по крайней мере в Swing ) проблем в самом деле нет.PHP Code:import java.lang.*;
import java.io.*;
class Mx {
public static void main(String[] aa) throws Exception
{ OutputStreamWriter w
= new OutputStreamWriter(new FileOutputStream("bye.txt"),"CP1251");
w.write("Привет!\n");
w.close();
}
}





Reply With Quote
