Closed GoogleCodeExporter closed 9 years ago
May be solution like this will be acceptable:
Public void append64(string BASE64) {
try {
String Decodedstring = new String(Base64.decode(base64));
pr.append(Decodedstring.getBytes(charset.name()));
} CATCH (ioexception e)
{
set(e);
}
}
Original comment by sunflic...@gmail.com
on 28 May 2011 at 6:44
Thanks for looking into this.
I have had no luck doing charset encoding from within Java. The parameter
I've supplied through the API does not seem to do anything. My only success,
though limited was to set via command line/env variable. Can you try this
command line option?
$ export JAVA_TOOL_OPTIONS=-Dfile.encoding=Cp866;google-chrome
// OR
$ export JAVA_TOOLS_OPTIONS=-Dfile.encoding=Cp866;firefox
// You should then see
$ Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=Cp866
Also, Cp866 is case sensitive. Taken from:
http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html
Original comment by tres.fin...@gmail.com
on 28 May 2011 at 12:50
I think I have found the root of the problem for encoding mismatch and
incorrect character printed on different OS.
PrintApplet.java, you should add this code between line 668 & 669 :
pr.setCharset(this.charset);
so line 668-670 will be like this (I'd modified line 670 a bit to show the bug
that happened when line 669 is commented out) :
668: this.charset = Charset.forName(charset);
669: pr.setCharset(this.charset);
670: LogIt.log("Current charset encoding: " + this.charset.name() +
"\nCurrent printer charset encoding: " + pr.getCharset().name());
This is because in jZebra there are 2 main object : PrintApplet (interface to
web browser & user ) and PrintRaw (interface to the printer).
when user change the encoding through PrintApplet, the object that changed the
encoding is just the PrintApplet. Although, when the PrintApllet initially
start, it had synchronized the encoding with the PrintRaw (PrintApplet.java
line 117).
This patch will change the encoding for the PrintRaw too.
For incorrect character (and images) that printed accross different OS, you can
set the encoding before print, ie. document.jZebra.setEncoding('windows-1252');
Usually, the extended ASCII code ( > 127) that printed normally on windows will
misprinted on linux. You can use the line above (use windows-1252 to print
extened ASCII) to correct it before print anything (even images).
Or you can easily download the attached file to replace the jzebra.jar on your
system.
Original comment by erik.luk...@gmail.com
on 18 Aug 2011 at 9:13
Attachments:
Great find. Committing the fix now.
Original comment by tres.fin...@gmail.com
on 20 Aug 2011 at 1:33
Bug 24 is duplicate.
Fixed in version 1.1.8 using setEncoding(). Confirmed by Eko. Please contact
mailing list for usage instructions until the wiki has been updated to reflect
changes.
http://code.google.com/p/jzebra/downloads/list
Original comment by tres.fin...@gmail.com
on 17 Sep 2011 at 5:23
Original comment by tres.fin...@gmail.com
on 17 Sep 2011 at 5:24
Wiki has been updated.
http://code.google.com/p/jzebra/wiki/TutorialWebApplet?ts=1325082551&updated=Tut
orialWebApplet#Printing_Special_Characters
Original comment by tres.fin...@gmail.com
on 28 Dec 2011 at 2:34
Original issue reported on code.google.com by
sunflic...@gmail.com
on 28 May 2011 at 6:29