Problem with  Non English Chars

OS : Mac OS
Java : 1.5.0_07
Hi,
i have an Swing application that reads data from a database and shows them in a swing GUI. The text returned by the database is in Arabic and saved in a TextField object.
But once printed, the arabic chars are screwed up.or actually they r not arabic chars at all!!
For debugging i also write the result of the query in the console and in a log4j log file.
There, it is printed in the right form.
here the code:
System.out.println("D3"+java.nio.charset.Charset.defaultCharset().name());
System.out.println("singular "+dit.getData().getSingular());
log4j,debug("singular "+dit.getData().getSingular());
Font font = Font.decode("Geeza Pro");
textl.setFont(font);
textl.setText(dit.getData().getSingular());
The output in the console is (and log4j) :
D3MacRoman
singular صوف
The output in the Swing Textfield is
������
If i configure log4j to use UTF8 ,then even into log4j log file the same screwed
chars are written.
Looks like i've to tell Swing to use MacRoman, which is the default of the OS and
the used by the console&log4j. but i don't know how to.
Any clue??
Thanks,
Chris.

convert your strings to unicode:
example 1
import java.awt.*;
import java.awt.event.*;
public class ApplicationFrame
    extends Frame {
  public ApplicationFrame() { this("ApplicationFrame v1.0"); }
  public ApplicationFrame(String title) {
    super(title);
    createUI();
  protected void createUI() {
    setSize(500, 400);
    center();
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        dispose();
        System.exit(0);
  public void center() {
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = getSize();
    int x = (screenSize.width - frameSize.width) / 2;
    int y = (screenSize.height - frameSize.height) / 2;
    setLocation(x, y);
import java.awt.*;
public class BidirectionalText {
  public static void main(String[] args) {
    Frame f = new ApplicationFrame("BidirectionalText v1.0") {
      public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D)g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
        Font font = new Font("Lucida Sans Regular", Font.PLAIN, 32);
        g2.setFont(font);
        g2.drawString("Please \u062e\u0644\u0639 slowly.", 40, 80);
    f.setVisible(true);
example2
Java Internationalization
By Andy Deitsch, David Czarnecki
ISBN: 0-596-00019-7
O'Reilly
import java.awt.event.*;
import java.awt.*;
import java.text.*;
import javax.swing.*;
public class ArabicDigits extends JPanel {
  static JFrame frame;
  public ArabicDigits() {
    NumberFormat nf = NumberFormat.getInstance();
    if (nf instanceof DecimalFormat) {
      DecimalFormat df = (DecimalFormat)nf;
      DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
      // set the beginning of the range to Arabic digits
      dfs.setZeroDigit('\u0660');
      df.setDecimalFormatSymbols(dfs);
    // create a label with the formatted number
    JLabel label = new JLabel(nf.format(1234567.89));
    // set the font with a large enough size so we can easily
    // read the numbers
    label.setFont(new Font("Lucida Sans", Font.PLAIN, 22));
    add(label);
  public static void main(String [] argv) {
    ArabicDigits panel = new ArabicDigits();
    frame = new JFrame("Arabic Digits");
    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {System.exit(0);}});
    frame.getContentPane().add("Center", panel);
    frame.pack();
    frame.setVisible(true);
To avoid having to type all the \u... notation manually, use the native2ascii tool (included with the SDK).
http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/

Similar Messages

  • [SOLVED!] On USB drives, problems with non-English chars and HAL

    Hello,
    I am having a problem with non-English caracters (áãàçéẽê...) on files stored on my USB drive.
    On Windows they're created with the correct name. But on Linux the files have the non-English characteres replaced by '?' and are not accessible.
    If I manuallly mount the drives using 'mount -o iocharset=utf8 /dev/sdb1 /media/usbdisk' the characters are OK, so I think I just need to get HAL to pass the correct parameters to mount. However I don't know how to do that, and haven't found any good solution.
    I tried to build a custom kernel setting the default charset as UTF-8 and it didn't work.
    Any ideas? I'm using x86-64, HAL 0.5.13-3 and my locale is pt-BR.UTF-8.
    Thanks!
    EDIT: Actually, this is not a HAL problem, but a problem with 'exo'. For the solution, I edited /etc/xdg/xfce4/mount.rc and added iocharset=utf8 to the [vfat] category.
    Last edited by Renan Birck (2009-11-28 20:54:23)

    I don't use Thunar presently, but I looked in the Thunar Volume Manager doc and I didn't find anything to change the mount options of removable drives. I am not quite sure if it's possible or not. Maybe someone using it can tell for sure.
    But if it is not possible to change the mount options, a possible solution is to disable the Thunar Volume Manager plugin and to use something else more configurable to manage the automount function.
    Personally I use the halevt package from AUR which uses configuration files in the xml format.
    It's not so easy to use but is highly configurable.
    But there exists other tools also.
    I can help you with halevt if you choose that way...

  • Problem with Non-English Fields Output to PDF by JASPER in JDev10.1.3

    I am using jsprx files(designed in i-report) to generate pdf reports out of an oracle database.
    The non-English fields are shown correctly when I output the report into an HTML or when I view it with JasperView.
    If I try making PDF files (JasperExportManager.exportReportToPdfFile) the static fields containing e.g.Arabic/Chineese characters won't be displayed and dynamic fields from the database with non-English contents will be shown as ??? or null.
    I received some suggestions about using PARAMETERS to feed the report instead of FIELDS, which I think can not be helpful in this case and in general.
    I think this should be a common problem. These are the components I am using:
    itext-1.4.7. jar
    commons-digester- 1.7.zip
    jasperreports- 1.2.8.jar
    Any comment or help is appreciated.
    Thanks
    Farbod

    I am using jsprx files(designed in i-report) to generate pdf reports out of an oracle database.
    The non-English fields are shown correctly when I output the report into an HTML or when I view it with JasperView.
    If I try making PDF files (JasperExportManager.exportReportToPdfFile) the static fields containing e.g.Arabic/Chineese characters won't be displayed and dynamic fields from the database with non-English contents will be shown as ??? or null.
    I received some suggestions about using PARAMETERS to feed the report instead of FIELDS, which I think can not be helpful in this case and in general.
    I think this should be a common problem. These are the components I am using:
    itext-1.4.7. jar
    commons-digester- 1.7.zip
    jasperreports- 1.2.8.jar
    Any comment or help is appreciated.
    Thanks
    Farbod

  • Problem with non english caracter

    Hi,
    I'm using JRockit 1.5.0_03, I have a problem with pages with non english caracters. is it possible to change certain properties of JVM like "user.country", "file.encoding" or "user.language"? If yes, how can I change it?
    Thanks in advanced

    Hi,
    I'm using JRockit 1.5.0_03, I have a problem with pages with non english caracters. is it possible to change certain properties of JVM like "user.country", "file.encoding" or "user.language"? If yes, how can I change it?
    Thanks in advanced

  • [AS] Problem with non English characters in file path

    I wrote a script that exports a pdf file from ID, rasterizes it in PS, applies an action, saves it as another pdf file, and finally creates a Mail message, and attaches the file to it (the last part is written in AppleScript).
    The problem is that it doesn't work when the path to this file contains non English characters.
    This works:
    make new attachment with properties {file name:"/Volumes/Macintosh HD/BackUp Tetard/Test.pdf"}
    but this doesn't:
    make new attachment with properties {file name:"/Volumes/Macintosh HD/BackUp Têtard /Test.pdf"}
    I remember vaguely that I read somewhere that AppleScript can work with Unicode — in other words with such characters — starting from some version, don't remember which exactly, but it seems to me — Leopard.
    I am on Mac OS X 10.4.11 right now. Will updating solve this problem? Does anybody know any solution to this problem: a scripting addition, some hidden setting, etc.
    I made a little test: used a Russian character — ё and it works, but when I use — ê (Dutch) it doesn't. May it have something to do with the Region setting in International panel?
    Thanks in advance,
    Kasyan

    Kasyan, as of Leopard AppleScript treats all text as Unicode pre this you can specify 'as Unicode text'. Try a test with these.
    -- Leopard
    set x to POSIX path of (path to desktop)
    -- Pre Leopard
    set x to POSIX path of (path to desktop as Unicode text)
    -- Leopard
    set x to POSIX path of (choose file without invisibles)
    -- Pre Leopard
    set x to POSIX path of ((choose file without invisibles) as Unicode text)

  • Safari Problem with Non-English websites

    Hello every body,
    I ran into strange problem, I do not know why I can not browse corectly some non-english websites like کانادا مهاجرت  or مهاجرت کانادا or مهاجرت به کانادا . it sounds a messy, could I make a change in HTML codes to make it compatible with SAFARI?
    Thank you

    Taleo's job search is flat out broken on Safari. Clicking the "search" button does absolutely nothing. The latest Firefox is also broken.
    The only conclusion I can draw is that Taleo doesn't support Mac users, period. Stunningly stupid. Says a lot about the quality of Taleo's products and workers.

  • Keyboard input bug with non-english chars

    Hi community, i'm facing a weird problem with the following flex application (something very simple, couldn't be more):
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
         <mx:TextInput/>
    </mx:Application>
    The bug is coming only on Google Chrome (on Mac), when i try to enter french special chars in the input field, let's say i try to enter the following letters: éèçà, instead i'll get ÈËÁ‡ (see the following screenshots respectively for Safari and Chrome)
    I tried these browsers on Mac: Safari, Firefox, Omniweb, Opera. And it works like a charm for them. The bug is only on Google Chrome Mac.
    I also tried on Windows with IE6, IE7, Firefox, Opera, Google Chrome. No bug either for them on Windows.
    I've read on the Internet other people on Linux have the same bug sometimes (again, it's just for a couple of browsers and never all the browsers on their platform). I hope I don't have to tell my users to trick with their OS configuration. It's our job to make our apps to fit the visitor, not theirs!
    Does anyone knows a workaround for it? A special configuration to do (compatibility mode with older Flash version 8, 9, something like that?)...

    I just tested Firefox and Chrome on linux, i doesn't work either, but i get different weird chars: éèça
    However, on both mac and linux, if i copy the chars and paste them in the input field, it passes.

  • Problems with non-English characters in iTunes 7.7

    Since "upgrading" to iTunes 7.7 every file containing characters not normally found in English (e.g.: å, ß, ç, é, î, ñ, ø, ü, etc.) gets a mane change when iTunes plays the track. For example, a song called "Baião" suddenly becomes "Bai.o" and if the artist or album name contains accented characters, these get scrambled as well. The files themselves also get jettisoned from their folders in the iTunes Library, which causes big problems.

    Kasyan, as of Leopard AppleScript treats all text as Unicode pre this you can specify 'as Unicode text'. Try a test with these.
    -- Leopard
    set x to POSIX path of (path to desktop)
    -- Pre Leopard
    set x to POSIX path of (path to desktop as Unicode text)
    -- Leopard
    set x to POSIX path of (choose file without invisibles)
    -- Pre Leopard
    set x to POSIX path of ((choose file without invisibles) as Unicode text)

  • Problems with non-English character.

    Hi
    My problem is that '������' become rubbish in my c++ dll. I hope someone can help me.
    ---Java code-----
    class Test
         private native void print(String str);
         public static void main(String [] args)
              new Test().print("������");
         static
              System.loadLibrary("Test");
    ----c++ code----
    JNIEXPORT void JNICALL
    Java_Test_print(JNIEnv *env, jobject obj, jstring jstr)
         const char * str = env->GetStringUTFChars(jstr, 0);
         if (str == NULL) {
              return; /* OutOfMemoryError already thrown */
         wstring str2(200, ' ');
         MultiByteToWideChar(CP_ACP, 0, str, strlen(str)+1, (LPWSTR)str2.data(),strlen(str));
         printf(">>> %s\n\n", str);
         cout << " str: " << str << ", str2.data: " << str2.data() << endl;
         return;
    ----OutPut-----
    &#9500;�&#9500;�&#9500;�&#9500;�&#9500;�&#9500;&#9570;str: &#9500;�&#9500;�&#9500;�&#9500;�&#9500;�&#9500;&#9570;, str2.data: 02CB6118
    Thanks
    Fredrik

    Hi,
    You will probably see the same rubbish if you try to print them to the console using java. Dos prompts usually have problems to print the Swedish characters. I don't know if this will affect your c++ dll or not. But you can specify the encoding for the JVM (-Dfile.encoding). For valid encodings see:
    http://www.mindprod.com/jgloss/encoding.html
    /Kaj

  • [SOLVED] Non english chars kdemod 4 problem

    Hello, I have a little problem with KDE and the non english charactes.
    If I open a file with non english chars in its name I get something like this:
    (In this case kwrite opens "other" file but in other applications it fails with an error of file not found)
    Other sympton is that in KDE menu my name have bad chars too:
    (It must be López)
    And the third sympton is that if try to rename a file in the desktop, I can't write accented chars (á é í ó ú). At the begining the keyboard in this rename dialog was totally in english but i have got a semi spanish keyboard (i can write ñ letters) with the apropiate /etc/hal/fdi/policy/10-keymap.fdi file.
    But the most strange is that in general, in all Kde and non-kde applications and even in the console, non english chars works ok. I can go to the file->Open menu of the application and open a file with non english chars in its name. The problem seems to reside in the part of kde that passes the name of the file to the application (¿kwin?)
    my locale is es_ES@UTF8 and as I said I have configured correctly the 10-keymap.fdi file.
    I have read in some forums that something like this could be a kde or qt bug, but for me it's not clear as i don't see a general complaining about this.
    Any idea will be apreciated.
    Thanks in advance,
    Christian.
    Last edited by christian (2009-03-27 14:52:17)

    SanskritFritz wrote:
    That should be "es_ES.utf8"
    Sorry, i mispelled it in the post.
    Of course, my locale is es_ES.utf8:
    LANG=es_ES.utf8
    LC_CTYPE="es_ES.utf8"
    LC_NUMERIC="es_ES.utf8"
    LC_TIME="es_ES.utf8"
    LC_COLLATE=C
    LC_MONETARY="es_ES.utf8"
    LC_MESSAGES="es_ES.utf8"
    LC_PAPER="es_ES.utf8"
    LC_NAME="es_ES.utf8"
    LC_ADDRESS="es_ES.utf8"
    LC_TELEPHONE="es_ES.utf8"
    LC_MEASUREMENT="es_ES.utf8"
    LC_IDENTIFICATION="es_ES.utf8"
    LC_ALL=
    I don't think this could be the source of the problem, because, except in the places I said in the firs post, the rest of my system works perfectly.

  • Upload text files with non-english characters

    I use an Apex page to upload text files. Then i retrieve the contents of files from wwv_flow_files.blob_content and convert them to varchar2 with utl_raw.cast_to_varchar2, but characters like ò, à, ù become garbage.
    What could be the problem? Are characters lost when files are stored in wwv_flow_files or when i do the conversion?
    Some other info:
    * I see wwv_flow_files.DAD_CHARSET is set to "ascii", wwv_flow_files.FILE_CHARSET is null.
    * Trying utl_raw.cast_to_varchar2( utl_raw.cast_to_raw('àòèù') ) returns 'àòèù' correctly;
    * NLS_CHARACTERSET parameter is AL32UTF8 (not just english ASCII)

    Hi
    Have a look at csv upload -- suggestion needed with non-English character in csv file it might help you.
    Thanks,
    Manish

  • Error when import file with non-english character

    Hi,<br /><br />I have images file with non-english character (unicode), for example ABC<X>.png where <X> is non-english character such as japanese, chinese, etc.<br /><br />Whenever I want to import the file to After Effects (right click -> import -> file), I always encounter error:<br /><br />Finding file/dir info for the file "C:\...\ABC?.png" -- file not found (-43) (3::30)<br />Can't import file "ABC?.png": unsupported filetype or extension. (0::1)<br /><br />My PC is Windows XP Professional 2002 SP2 English.<br /><br />How to solve this problem?<br /><br />Thanks

    Adjust your system language settings. Proper file name conventions require a consistent Unicode environment, so install the respective foreign language support files or switch the language system-wide. Mixing different zones/ code ranges is always a bad idea. If your system is not in Japanese, AE will always misinterpret the characters and refuse to import. If that's not feasible, simply rename the files.
    Mylenium

  • Naming files with non English characters.

    I'm using filemaker to creat PDF's through Acrobat 10.1.12. I need to use Polish, Hungarian, Czech and Slovakian characters in the file name but the characters are not recognised and so the file name will not create. This is for Windows, the problem does not occur on a mac.

    Hi
    Have a look at csv upload -- suggestion needed with non-English character in csv file it might help you.
    Thanks,
    Manish

  • Youtube issue - search with non-english letters

    The issue appeared after the recent software update, worked correctly in the previous one.
    When searching youtube with non-english letters (through iphone remote app), it assumes every letter to be an "enter" and reports a problem connecting to youtube.
    Even when I try using the "recent searches", it will report the same problem for non-english items.

    you need to report it to apple via http://www.apple.com/feedback/appletv.html

  • Ttf-hunky-fonts pkgbuild: bitstream vera with non Eng chars

    Saw it, built it, posting it :-)
    I admit it - not all characters are perfect. But this is the first version and author promised to repair it soon. Still, if you want to have Bitstream Vera TTF fonts (originally lacking nonEn chars) with additional characters ("Baltic, Central European, South European and other languages, including Maori, Welsh and Esperanto") you can try it. It can co-exist with other ttf fonts (including original Bitstream Vera). Font names are Hunky Serif and Hunky Sans.
    ttf-hunky-fonts PKGBUILD
    pkgname=ttf-hunky-fonts
    pkgver=0.1.0
    pkgrel=1
    pkgdesc="Bitstream Vera based TTF fonts with non-English characters"
    url="http://www.yoper.com/ariszlo/hunky.html"
    depends=('x-server')
    install=ttf-hunky-fonts.install
    source=(http://www.yoper.com/ariszlo/packages/SOURCES/hunkyfonts-$pkgver.tar.gz)
    md5sums=('082b8220b2112830f7e418451a2c2f78')
    build() {
    install -d -m755 $startdir/pkg/usr/X11R6/lib/X11/fonts/TTF
    install -m644 $startdir/src/hunkyfonts-$pkgver/TTF/*.ttf
    $startdir/pkg/usr/X11R6/lib/X11/fonts/TTF
    ttf-hunky-fonts.install
    # arg 1: the new package version
    post_install() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    # arg 1: the new package version
    # arg 2: the old package version
    post_upgrade() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    # arg 1: the old package version
    pre_remove() {
    /bin/true
    # arg 1: the old package version
    post_remove() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    op=$1
    shift
    $op $*

    Saw it, built it, posting it :-)
    I admit it - not all characters are perfect. But this is the first version and author promised to repair it soon. Still, if you want to have Bitstream Vera TTF fonts (originally lacking nonEn chars) with additional characters ("Baltic, Central European, South European and other languages, including Maori, Welsh and Esperanto") you can try it. It can co-exist with other ttf fonts (including original Bitstream Vera). Font names are Hunky Serif and Hunky Sans.
    ttf-hunky-fonts PKGBUILD
    pkgname=ttf-hunky-fonts
    pkgver=0.1.0
    pkgrel=1
    pkgdesc="Bitstream Vera based TTF fonts with non-English characters"
    url="http://www.yoper.com/ariszlo/hunky.html"
    depends=('x-server')
    install=ttf-hunky-fonts.install
    source=(http://www.yoper.com/ariszlo/packages/SOURCES/hunkyfonts-$pkgver.tar.gz)
    md5sums=('082b8220b2112830f7e418451a2c2f78')
    build() {
    install -d -m755 $startdir/pkg/usr/X11R6/lib/X11/fonts/TTF
    install -m644 $startdir/src/hunkyfonts-$pkgver/TTF/*.ttf
    $startdir/pkg/usr/X11R6/lib/X11/fonts/TTF
    ttf-hunky-fonts.install
    # arg 1: the new package version
    post_install() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    # arg 1: the new package version
    # arg 2: the old package version
    post_upgrade() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    # arg 1: the old package version
    pre_remove() {
    /bin/true
    # arg 1: the old package version
    post_remove() {
    echo "Rebuilding font cache..."
    /usr/bin/fc-cache
    echo "...done."
    op=$1
    shift
    $op $*

Maybe you are looking for