Difficulty with java Unicode for internationalization

First, my appologies for the cross-post. I'm not sure if this is a
configuration issue, simple java / jsp problem or something others
performing internationalization may have encountered.
We're generating UTF-8 HTML pages using .jsp's, Weblogic 5.1 sp5, jdk
1.2.2 and NT 4.0 w/ the Euro patch.
We have the ability to serve UTF-8 encoded data from flat files and our
database but we're having some problems serving Unicode that have been
"escaped" into java variables.
If we use the &#nnnnn (nnnn is decimal unicode value for character) HTML
method for displaying unicode characters, they display just fine.
However, if we create a java String or char and push a character into it
via \uNNNNN (NNNNN is hex unicode value for character) and then display
the content of this variable through the HTML page, something goes
awry. Here's an example:
<% String checkChar = new String("\u0000");%>
<td class="smallfont"><% checkChar = "\u00A5";%><%=checkChar%></td>
<td class="smallfont"><% checkChar = "\u20A5";%><%=checkChar%></td>
<td class="smallfont"><% checkChar = "\u30A5";%><%=checkChar%></td>
This should display the Yen symbol, Mil Sign and a Katakana small 'u',
respectively. Oddly enough, it displays the Yen symbol all three
times. I've had similar results with other series of Unicode characters
(several Unicode characters that share the same second hex digit.)
If you want to see this via HTML, check out
http://dev.slingshotcorp.com/char.jsp.
We've added "-Dfile.encoding=UTF8" to the java invocation in
startWebLogic.cmd and we've verified that the setting is persisted into
the .jsp. Unfortunately, our output isn't affected.
Anyone know what I'm doing wrong? It appears that java is somehow
assuming the first hex digit is always "00." Does this sound familiar
to anyone?
Thanks - Jackson

Hello Earl,
I was having similar problem.
I was able to display &#nnnnn and the chinese character
from database, but not \unnnn.
I think Kevin Burns was making a good suggestion by
giving page directive in your jsp file (UTF8) 'cause that's what
I did AND it started to display \unnnn just fine from
my property bundle files. You may give a try!
But my problem is that after I gave the UTF8 page directive,
the stuff I'm reading from db (oracle 8.1.6, with NLS_LANG)
displayed as garbage. Do you think it's because that
WLS supports only Unicode?
thanks,
--Renqi Li
Earl Bob wrote:
Has any else come across this gem? I think this is the root of my problem.
"Caution: Currently, WebLogic JSP only supports 8-bit character sets. "
http://www.inf.fu-berlin.de/lehre/WS00/SWT/BEA/documentation/docs51/classdocs/API_jsp.html
The most recent Weblogic documentation has revised this statement to:
"WebLogic JSP supports mulitbyte character sets according to the Unicode
standard. "
http://www.weblogic.com/docs51/classdocs/API_jsp.html#wljsp
We believe that the 16-bit characters we're passing around through Java
variables are being cliped to 8-bit characters as they're written to HTML.
Does anyone know when (which service pack) provided WL 5.1 JSP with the
ability to handle multi-byte charactersets? We're currently using WL 5.1
sp5.
Thanks - Jackson

Similar Messages

  • Tools for extracting strings from java code for internationalization

    For legacy code with lots and lots of strings what method is typically used to extract strings for internationalization?
    Am I right in thinking you couldnt simply grep for strings, it could get pretty complitcated, especially with escape characters, escaped quotes etc.,
    -SK

    When dealing with legacy code, it is nice to have an application that queries you as it extracts the strings. You have a choice whether to accept the string as a localizable entity or not.
    There are several tools that do this...including some IDEs like JBuilder. Although it isn't a fully supported or robust tool, Sun has a utility for extracting strings in Java source files:
    http://java.sun.com/products/jilkit/.
    Regards,
    John O'Conner

  • SAVE AS BUTTON WITH JAVA SCRIPT FOR MOUSE UP EVENT

    Please any one help with complete code for "SAVE AS" button to auto save the acrobat form in a user specified path
    with unique name or incremental name.Please post only full script for MOUSE UP event.

    Thanks George but i need an example.my actual need is
    i have created a SAVE INVOICE button.i have set the action"Mouse up" to run a Java script.
    Now i need a scriprt for the same.
    If i press that SAVE INVOICE button.the fie should save on "C:\Users\MUNNA\Desktop" automatically
    with unique name and the name should not remain same for next Save.because it overwrites the previous
    file so please post an example pdf with same.

  • Web site with java benchmarks for various cpus?

    Is there a web site that shows java benchmarks run on various P4 and AMD cpus, so that it is possible to see the relatively speed at which java runs on these cpus?

    You'll find a few if you search around, but none will be meaningful. The problem with Java, or any other Virtual Machine type runtime language is you can not design a benchmark that really has meaning, in any context but the benchmark itself. First off, you're not benchmarking "Java" you're benchmarking the "JVM". I try to convince people to not waste so much time on these speed issues. Your time would be better learning how to write better code, which would give a much bigger speed increase then switching from a P4 to an Athlon. Developers often make mistakes and oversites in their work that slows a program down by an order of magnitude. You're never going to see that kind of performance difference in CPUs. So get a good deal on machine, the most "bang-for-your-buck" if you will, and go to town, and stop worrying, hotspot is fast.
    Sparc Chips are different story because a little thing called register coloring... but you didn't mention sparc chips, so I won't tell the story.
    Spinoza

  • I need Mozilla 33.1.1 to work with Java 7u67 for my organization's core applications

    We'll soon be using a core program in are organization that works better on Firefox than in IE.
    However, We are at a point where Java 7u67 is the supported version of Java.
    Having installed Mozilla Firefox v.33.1.1 I find that it is rejecting Java 7u67 for security reasons.
    Is there a way to allow the use of 7.67 with our core application?

    Can you enable the Java plugin via the Lego block icon on the location/address bar?
    Note that you may have to create an allow security exception to make the applet run and possibly clear the Java cache and exceptions and certificates stored in Java.
    *"What should I do when I see a security prompt from Java?":<br>http://www.java.com/en/download/help/appsecuritydialogs.xml
    If you visit a website regularly then a possible workaround is to add the URL to the Java Exceptions Site List, see:
    *"Why are Java applications blocked by your security settings?":<br>http://www.java.com/en/download/help/java_blocked.xml
    *"How can I configure the Exception Site List?":<br>http://www.java.com/en/download/faq/exception_sitelist.xml

  • Starting out with Java client for Web Services

    Hi,
    I'm new to Web Services (but not Java in general). Just looking for some pointers to get me started in the right direction.
    My pressing need is to develop a Java client for a set of Web Services described through a WSDL.
    I've found the "Chapter 12: Building Web Services With JAX-RPC" section of the Web Services Tutorial. Could someone just confirm that this is the right tutorial for me to read for my puropse.
    Also I was wondering about available tools for this purpose.
    I was expecting that there would be a tool that could read a WSDL and generate client side stubs for it automatically. (Like how you can take a Remote interface and rmic it in RMI). Is there such a thing? Is it possible?
    Preferably an open source (free) tool. I use the Netbeans IDE so if anyone knows of anything that integrates with that, all the better. I had a look at their site but couldn't see anything.
    Thanks in advance for any tips anyone can provide.

    Hi,
    I'm new to Web Services (but not Java in general).
    Just looking for some pointers to get me started in
    the right direction.
    My pressing need is to develop a Java client for a set
    of Web Services described through a WSDL.
    I've found the "Chapter 12: Building Web Services
    With JAX-RPC" section of the Web Services Tutorial.
    Could someone just confirm that this is the right
    tutorial for me to read for my puropse.Yes, that's right. It manages to say very little in very many pages.
    Also I was wondering about available tools for this
    purpose.
    I was expecting that there would be a tool that could
    read a WSDL and generate client side stubs for it
    automatically. (Like how you can take a Remote
    interface and rmic it in RMI). Is there such a thing?
    Is it possible?This is exactly what the wscompile tool (distributed with the JWS SDK 1.3) does as one of its options. See http://java.sun.com/webservices/docs/1.1/tutorial/doc/JAXRPC6.html for more info.

  • Need help with Java app for user input 5 numbers, remove dups, etc.

    I'm new to Java (only a few weeks under my belt) and struggling with an application. The project is to write an app that inputs 5 numbers between 10 and 100, not allowing duplicates, and displaying each correct number entered, using the smallest possible array to solve the problem. Output example:
    Please enter a number: 45
    Number stored.
    45
    Please enter a number: 54
    Number stored.
    45 54
    Please enter a number: 33
    Number stored.
    45 54 33
    etc.
    I've been working on this project for days, re-read the book chapter multiple times (unfortunately, the book doesn't have this type of problem as an example to steer you in the relatively general direction) and am proud that I've gotten this far. My problems are 1) I can only get one item number to input rather than a running list of the 5 values, 2) I can't figure out how to check for duplicate numbers. Any help is appreciated.
    My code is as follows:
    import java.util.Scanner; // program uses class Scanner
    public class Array
         public static void main( String args[] )
          // create Scanner to obtain input from command window
              Scanner input = new Scanner( System.in);
          // declare variables
             int array[] = new int[ 5 ]; // declare array named array
             int inputNumbers = 0; // numbers entered
          while( inputNumbers < array.length )
              // prompt for user to input a number
                System.out.print( "Please enter a number: " );
                      int numberInput = input.nextInt();
              // validate the input
                 if (numberInput >=10 && numberInput <=100)
                       System.out.println("Number stored.");
                     else
                       System.out.println("Invalid number.  Please enter a number within range.");
              // checks to see if this number already exists
                    boolean number = false;
              // display array values
              for ( int counter = 0; counter < array.length; counter++ )
                 array[ counter ] = numberInput;
              // display array values
                 System.out.printf( "%d\n", array[ inputNumbers ] );
                   // increment number of entered numbers
                inputNumbers++;
    } // end close Array

    Yikes, there is a much better way to go about this that is probably within what you have already learned, but since you are a student and this is how you started, let's just concentrate on fixing what you got.
    First, as already noted by another poster, your formatting is really bad. Formatting is really important because it makes the code much more readable for you and anyone who comes along to help you or use your code. And I second that posters comment that brackets should always be used, especially for beginner programmers. Unfortunately beginner programmers often get stuck thinking that less lines of code equals better program, this is not true; even though better programmers often use far less lines of code.
                             // validate the input
       if (numberInput >=10 && numberInput <=100)
              System.out.println("Number stored.");
      else
                   System.out.println("Invalid number.  Please enter a number within range."); Note the above as you have it.
                         // validate the input
                         if (numberInput >=10 && numberInput <=100)
                              System.out.println("Number stored.");
                         else
                              System.out.println("Invalid number.  Please enter a number within range."); Note how much more readable just correct indentation makes.
                         // validate the input
                         if (numberInput >=10 && numberInput <=100) {
                              System.out.println("Number stored.");
                         else {
                              System.out.println("Invalid number.  Please enter a number within range.");
                         } Note how it should be coded for a beginner coder.
    Now that it is readable, exam your code and think about what you are doing here. Do you really want to print "Number Stored" before you checked to ensure it is not a dupe? That could lead to some really confused and frustrated users, and since the main user of your program will be your teacher, that could be unhealthy for your GPA.
    Since I am not here to do your homework for you, I will just give you some advice, you only need one if statement to do this correctly, you must drop the else and fix the if. I tell you this, because as a former educator i know the first thing running through beginners minds in this situation is to just make the if statement empty, but this is a big no no and even if you do trick it into working your teacher will not be fooled nor impressed and again your GPA will suffer.
    As for the rest, you do need a for loop inside your while loop, but not where or how you have it. Inside the while loop the for loop should be used for checking for dupes, not for overwriting every entry in the array as you currently have it set up to do. And certainly not for printing every element of the array each time a new element is added as your comments lead me to suspect you were trying to do, that would get real annoying really fast again resulting in abuse of your GPA. Printing the array should be in its own for loop after the while loop, or even better in its own method.
    As for how to check for dupes, well, you obviously at least somewhat understand loops and if statements, thus you have all the tools needed, so where is the problem?
    JSG

  • Difficulty with Format Value for Time Format

     I have a vi where the current time is split out of an Analog waveform (using Get Waveform Components), and subtracted from a starting time, to result in  a relative time since the test began.  This may not be the most elegant way of doing it, but it works great.  The problem is that when I try to convert the elapsed time in seconds back to a time format for saving to a spreadsheet, I get the results shown by the probes.  In case the screen capture is not clear enough, the format string is     %<%H:%M:%S>t.  A colleague has tried this format and it works great. He's running 8.2, and I'm running 7.1.  Other than that, our applications appear identical.  Any ideas? 
    Attachments:
    Screen Capture2 of Time Format for HTV.png ‏17 KB

    I'm also on 8.2 and it works fine for me. Maybe format value couldn't handle time format codes in 7.1. I'm not really sure and I don't have it installed to check. Why don't you use "Format into String" instead? It will work the same way, and should work fine with 7.1.

  • XSLT Mapping with Java Enhancement

    Hi All
    I am working on XSLT Mapping with Java Enhancement.
    To do this scenario i have followed the following link.
    http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/frameset.htm
    As per the above link I have created Source and Target Data Types , Message Types , Mesage Interfaces, XSLT Mapping (using the transaction XSLT_TOOL) and Interface Mapping part and configred a simple file to file scenario in the ID part.
    Apart from this I have wirte the java code, compile the java code, create the jar file using .java and .class file and after creating the jar file import the .jar file in the imported archive of the IR..
    when I am trying to execute the scenario I am getting the successful message in SXMB_MONI but the target file is having the payload as given below.
    <?xml version ="1.0" encoding="UTF-8"?>
    <name xmlns:javamap="java:com.company.group.MappingClass"/>
    And as per the XSLT mapping the payload should be as below
    <?xml version ="1.0" encoding="UTF-8"?>
    <person>
    <name>Rinku Gangwani</name>
    </person>
    I have also followed the following blog link but still i am getting the same issue
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    could you please tell me what can be the reason that i am getting the blank targt field values in the payload.
    Thanks
    Rinku Gangwani

    Hi,
      The Transaction code XSLT_TOOL for ABAP xslt mapping.But the Java Enhancement is used for normal xslt mapping which we created using Stylus Studio.You can not access the Java Enhancement in ABAP xslt mapping.
    If you want to use Java Enhancement in xslt mapping then create a xslt mapping using Stylus Studio and save the file as .xsl and zip the .xsl and import to import archive.
    Regards,
    Prakasu.M
    Edited by: prakasu on May 28, 2009 1:46 PM

  • Should we avoid Graphical mapping and stick with Java mapping?

    After developing mappings in XI for a month, I just don't see any good reasons to use Graphical mappings over Java mappings. Maybe some experienced users here can give me some valid reasons why we should choose Graphical mappings. Here is what I think:
    Disadvantages of Graphical mappings:
    1. No way to perform automated unit testings. This is probably the biggest reason I hate it. You can do some tests manually when you work in Integration Builder. But there is no way you can write some unit testing utilities to automate the task.
    2. Complexity. Even for some simple requirements, your Graphical mappings can become complicated and hard to understand. A lot of times, I find myself staring at several dozens of graphical nodes and try to understand what it does.
    3. Impossible to reuse. This is totally against the DRY (Don't repeat yourself) principle. For example, to generate messages for JDBC adapter, it is common to have two identical fields for primary keys: one in the access node and another in the key node. If you change the mapping logic in one, you have to remember to change the other.
    Advantage with Java mappings:
    1. Fully automated unit testing. You can create JUnit tests along with your Java mapping classes and use Maven or other build tools to perform automated unit testing.
    2. Your choice of XML parsing and binding. With Java mapping, you can choose any open source framework for XML parsing and binding. For example, with XMLBeans, I can convert XML input message to a Java object, transform to another Java object and write to output message. And each Java object is generated from its corresponding XML schema.
    3. Highly reusable. We can use fundamental object-oriented designs to create highly reusable mapping components.
    4. Better version control. Since the mappings are just Java classes, we can use CVS or SVN to track code changes.
    5. Better build tools. We can fully utilize build tools like Ant and Maven to automate the build, unit tests, or even generate documents and mapping web sites.
    So do you guys agree? Maybe I am still new to XI or I am missing some important things. But at this point, I just don't see why I should use Graphical mappings. Is there anyone developing XI interfaces completely with Java mappings?
    Thanks in advance for any comments!
    Kenny Cheang

    Hi Suraj,
    > Since its graphical the blocks will take space, but
    > there is always an adavntage of processing time.
    > Ebven though it may appear bigger, it will take less
    > time as compared with Java code (for the same
    > mapping).
    Could you explain more why the graphical mapping has better performance? I thought the graphical mapping is compiled into a Java class in the runtime anyway.
    > Yes thats there, but same goes with Java mapping too
    > right (if you haven't mentioned it as constants)
    I mainly think about inheritance. If I have to build 10 interfaces and they all have some common behavior, I can create a base interface class to encapsulate the common logic. But with graphical mapping, you have to duplicate them in each interface.
    > Disadvantages of Java mapping:
    > 1. Performance
    Same as above. I just don't see why Java has worse performance. I actually think Java should have better performance. You can optimize the code anyway you want. In some cases, you have to use queue functions in graphical mapping but it's not necessary in Java.
    > 2. All might not be well versed with Java Code(though
    > everyone may know basic java) .
    I am not asking everyone to abandon graphical mapping. I am just wondering which one is better when you have skills for both.
    > 3. Lot of standard functions are available in GM
    > which you can choose, but you have to remember the
    > exact code for those in Java mapping.
    You can create functions in Java too. All you have to do is to remember the function name.
    Kenny

  • How do I get and set column attributes in a table or a treetable with Java?

    Using 11.1.1.4.0
    Hi,
    How do I get and set column attributes in a table or a treetable with Java? For a simple example, say I have a table and want certain roles to see all columns (including address), and other roles can see only certain columns (no address). In a Java method, I want to test if a table's column visible attribute is true and if so, set it to false before rendering it.
    Thanks in advance,
    Troy

    Hi,
    this use case would be a perfect example for using seeded MDS customization. Instead of checking what users are allowed to see or not upon rendering time, you have a customization class and thus the framework doing this for you.
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/31-mds-sample-169173.pdf
    In this paper and sample, specific users see different layouts. It also contains a customization class that shows how this can leverage ADF Security
    Frank

  • XSL transformation with java binding

    Hi everyone!
    I am trying to implement na XSL transformation that uses java code binding.
    My XSL looks as follows:
    <i><xsl:stylesheet xmlns:myobj="java.lang.System"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xf="http://www.sapportals.com/wcm/app/xmlforms">
    <xsl:param name="myobj"/>
    <xsl:value-of select="string(myobj:currentTimeMillis())"/>
    </xsl:stylesheet></i>
    Everything works fine - current time is displayed.
    But when I try to use my custom java class the compiler returns an exception:
    <i>com.sapportals.wcm.WcmException: com.sap.engine.lib.xml.util.NestedException: Could not load class: ep.UmeLookup required for execution of 'UmeLookup.isReady'</i>
    My second xsl stytesheet with a reference to custom class looks as follows:
    <i><xsl:stylesheet xmlns:ume="ep.UmeLookup" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xf="http://www.sapportals.com/wcm/app/xmlforms">
    <xsl:param name="ume"/>
    <xsl:value-of select="string(ume:UmeLookup.isReady())"/>
    </xsl:stylesheet></i>
    I developed java class (ep.UmeLookup), made a .jar from it, included the jar archive in a Library project and deployed the library to the J2EE engine.
    It looks like my class is not 'visible' in J2EE engine, while in my opinion it should be. Does anyone know how to change that??
    BR / marek

    Ask this lady a question. Maybe she could answer your question.
    XSLT Mapping With JAVA Enhancement ( For Beginners)

  • How i can start working with Java?

    Right now i am having only 8 months of exp in ABAP. can any one help me out to start working with Java specially for Netweaver Purpose

    It is great if you can get yourself familiar with java syntax, as is the case with any new langauage. However, the worst thing you can do is just code java in a top down approach. If you are not familiarizing yourself with OO concepts and best practices, then you are going to miss two important benefits that you will get from using OO programming - Reusability and flexibility in the frameworks that you develop (leveraging design patterns).
    These benefits will also be directly obtainable when you use ABAP objects.
    I am working in the opposite direction at the moment. I have some java experience, and I am starting to learn ABAP. I have used ABAP objects in my first project, and it was actually much better than I thought it would to be.
    Java and OO programming will be an ongoing learning experience. You will not be an expert for quite some time. I do not consider myself to be an expert by any means, and I've be studying OO and java for a few years.
    There is a fantastic book that explains OO concepts clearly, in much easier terms than the Gof "Design Patterns" book:
    Java Design: Objects, UML, and Process by Kirk Knoernschild
    You can read a few chapters at www.kirkk.com. (Use the JOUP link).
    Hope this helps you.
    - Brendan

  • Help with java error

    Hi I got this error and i don't know what it means or how to fix it
    if you understand it please help
    Bad installation. Error invoking java vm(execv)
    C:\program Files\java\ire1.5.0_10\bin\javaw.exe
    I got this error when i went to add and remove programs in winXP
    and highlighted a program called Goban3 and clicked on change\remove
    http://www.gokgs.com/
    goban3 is sign on link to KGS
    if you check the site KGS you can see some java related items that have to be done i use this sights for years without problems
    but now im having problems with java
    thanks for serious reply
    Message was edited by: r
    revest

    That looks alot like this.

  • Unable to deploy BPEL with java embedding

    Hi ,
    I have created a simple BPEL Process with java embedding for over ruling the BPELinstance name in it .But I am unable to deploy as Jdeveloper is showing that jar files should be included in the classpath ,though I had included in the class path. Below are my code and the error which is shown by the Jdeveloper.
    <bpelx:exec name="JavaSetTitle" language="java" version="1.4">
    <![CDATA[
    Element inVarElem = (Element)getVariableData("inputVariable"
    , "payload"
    , "/client:HelloWorldProcessRequest/client:input");
    try
    String inputdata = inVarElemOrpsId.getNodeValue();
    String title = "HelloWorld " + inputdata;
    setTitle(title);
    addAuditTrailEntry("New Title is: >" + title + "<");
    catch (Exception ex)
    ex.printStackTrace();
    }]]>
    </bpelx:exec>
    Error:
    Error: Java compilation failed.
    Failed to compile file(s) "TestBPEL.bpel".
    Exception reported is: TestBPEL.bpel:64: Class bpel.testbpel.Element not found.
    Element inVarElem = (Element)getVariableData("inputVariable"
    ^
    TestBPEL.bpel:64: Class bpel.testbpel.Element not found.
    Element inVarElem = (Element)getVariableData("inputVariable"
    ^
    TestBPEL.bpel:69: Undefined variable or class name: inVarElemOrpsId
    String inputdata = inVarElemOrpsId.getNodeValue();
    ^
    3 errors
    Please verify that file TestBPEL.bpel is valid java file or if all required libraries are included in your classpath.
    classpath: ..\..\..\classes;..\..\ide\lib\javax-ide.jar;..\..\ide\lib\javatools.jar;..\..\ide\lib\ide.jar;..\..\jlib\jewt4.jar;..\..\jlib\share.jar;..\..\jlib\help4.jar;..\..\jlib\inspect4.jar;..\..\lib\xmlparserv2.jar;..\..\jdbc\lib\orai18n.jar;..\lib\jdev-ep.jar;..\..\jdk\lib\tools.jar;..\..\jdk\lib\dt.jar;..\lib\ext\jaxen-1.1-beta-4.jar;..\extensions\oracle.ide.10.1.3.jar;..\..\jlib\ojmisc.jar;..\extensions\oracle.jdeveloper.10.1.3.jar;..\lib\jdev.jar;..\lib\ojc.jar;..\..\jlib\regexp.jar;..\..\ant\lib\ant.jar;..\..\ant\lib\ant-..................

    Or try removing the client: from your original code
    <bpelx:exec name="JavaSetTitle" language="java" version="1.4">
    <![CDATA[
    Element inVarElem = (Element)getVariableData("inputVariable"
    , "payload"
    , "/HelloWorldProcessRequest/input");
    try
    String inputdata = inVarElemOrpsId.getNodeValue();
    String title = "HelloWorld " + inputdata;
    setTitle(title);
    addAuditTrailEntry("New Title is: >" + title + "<");
    catch (Exception ex)
    ex.printStackTrace();
    }]]>
    </bpelx:exec>cheers
    James

Maybe you are looking for