How to handle Multibyte character in Java urgent requirement

Hi Friends,
I'm fetching the data from the database(MS SQL Server 2000) and writing into the file.
This is the snippet of the code i'm using to write into the file.
File outputFile = new File("C:\\Temp\\SAMPLE.txt");
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(outputFile));
//Fetching the values from database
while (rs.next())
//colData contains the value from the database which will go into the file
String colData = rs.getString(fieldNames);
fileWriter.write(colData);
The problem is when I'm writing a multibyte� �� character is converting into double quotes,
i.e. M?�L INC. is written as M?"L INC.
I need to know how can I write the same value what I'm fetching from the database( irespective it is singlebyte or multibyte characters ).
Thanks in advance.
Kind Reards,
Pallavi

Hi,
I changed the default encoding, Windows1252 to UTF-16 using OutputStreamWriter class and it worked out!
OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream("C:\\abc.txt")), "UTF-16");
Thanks for the suggestions. :)

Similar Messages

  • How to handle national character set datatypes in oracle?

    Hi
    Can anyone tell me how to handle national character set datatypes in oracle?
    Thanks in advance

    And for data manipulation, append "N" the literal values being used in the command.
    The "N" indicates that the string is to be treated as Unicode Text.
    For Example: insert into TableName (ColumnName) values (N'ValueToBeInserted');

  • How to handle special character in SAP CRM

    Hi all,
    I am facing a problem on SAP CRM Web UI - Contact Creation - When a special character is inserted on address fields of Business
    Partner (e.g. ` ~ ^ etc.), the interface does not understand this character and changes it to a TRIANGLE on pressing enter key.
    Kindly guide as how to handle it or something is missing in terms of (note or patch).
    I am running on SAP CRM 7.0
    Thanks,
    Pradeep Singh Dhadwal

    Hi Pradeep.
    At the end of the day, a character is stored as a byte sequence on disk, and a code page defines the mapping between the byte sequence and any given character.The code page determines what character you can see and enter, therefore different code pages map different characters to the same byte sequence.
    I suggest you to first check if your system is a Unicode system by checking the System menu->Status option->Unicode system field. I'll assume it is.
    Then, please run report RSCP0018 (optionally also RSCPINST and then select Current NLS config pushbutton).
    These reports will show you the actual configuration of languages and code pages of your Application Server. Please check that the correct languages and code pages are configured. If you need to know more about code pages configuration, please check Note 42305, which explains pretty well the whole process.
    Kind regards, and good luck.
    Federico

  • How to Handle the memory in JAVA??

    Hello,
    I created one Editor using swing concepts. And I am openeing a file ( 8MB ).For that I am using a Sting Buffer in my program ( for reading the file)...But If I open multiple files in my Editor .... its taking so much time..
    so for that I have to clear in STRING BUFFER memory..
    SO GIVE ME SOME IDEA FOR THAT..
    HOW CAN I HANDLE THAT MEMORY FOR THAT??
    Thanks and Regards,
    Bala

    One thing you can do, is to allocate more memory to the JVM. The following JVM switch would use 256MB of RAM:
    java -Xmx256m

  • How to Handle Multiple Thread in JAVA Callout with OSB 11g

    Hi Team,
    With My OSB 11g, I want create a static Thread when Java callout.
    Java code as below.
         private static Thread thread;
    static {
              * lazy load thread and with thread-safe ensure
              if(thread == null){
                   synchronized (HornetQConnectionHelper.class) {
                        thread = new ConnectionRecoveryThread();
                        // Daemon thread, JVM level, Won't be interrupted, Safe!
                        thread.setDaemon(true);
                        thread.start();
    When this class was first called in OSB, the thread start run. while when I redeploy it, the old Thread is still running, if call the class again, it will create a new Thread. The two threads will run at the same time.
    Any body know how do configure it, so that there is only one static Thread in the Weblogic JVM.
    Thanks.
    Best Regards,
    Raysen Jia

    Hi Raysen Jia,
    Create a weblogic startup class... See the references bellow...
    Hope this is helpful...
    http://jagadesh4java.blogspot.com.au/2010/05/working-with-weblogic-startup-shutdown.html
    http://docs.oracle.com/cd/E23943_01/upgrade.1111/e10126/basic_upgrade.htm#FUPAS464
    Cheers,
    Vlad

  • How to handle blob data with java and mysql and hibernate

    Dear all,
    I am using java 1.6 and mysql 5.5 and hibernate 3.0 . Some time i use blob data type . Earlier my project's data base was oracle 10g but now i am converting it to Mysql and now i am facing problem to save and fetch blob data to mysql database . Can anybody give me the source code for blob handling with java+Mysql+Hibernate
    now my code is :--
    ==================================================
    *.hbm.xml :--
    <property name="image" column="IMAGE" type="com.shrisure.server.usertype.BinaryBlobType" insert="true" update="true" lazy="false"/>
    ===================================================
    *.java :--
    package com.shrisure.server.usertype;
    import java.io.OutputStream;
    import java.io.Serializable;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Types;
    import javax.naming.InitialContext;
    import javax.sql.DataSource;
    import oracle.sql.BLOB;
    import org.hibernate.HibernateException;
    import org.hibernate.usertype.UserType;
    import org.jboss.resource.adapter.jdbc.WrappedConnection;
    import com.google.gwt.user.client.rpc.IsSerializable;
    public class BinaryBlobType implements UserType, java.io.Serializable, IsSerializable {
    private static final long serialVersionUID = 1111222233331231L;
    public int[] sqlTypes() {
    return new int[] { Types.BLOB };
    public Class returnedClass() {
    return byte[].class;
    public boolean equals(Object x, Object y) {
    return (x == y) || (x != null && y != null && java.util.Arrays.equals((byte[]) x, (byte[]) y));
    public void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException {
    BLOB tempBlob = null;
    WrappedConnection wc = null;
    try {
    if (value != null) {
    Connection oracleConnection = st.getConnection();
    if (oracleConnection instanceof oracle.jdbc.driver.OracleConnection) {
    tempBlob = BLOB.createTemporary(oracleConnection, true, BLOB.DURATION_SESSION);
    if (oracleConnection instanceof org.jboss.resource.adapter.jdbc.WrappedConnection) {
    InitialContext ctx = new InitialContext();
    DataSource dataSource = (DataSource) ctx.lookup("java:/DefaultDS");
    Connection dsConn = dataSource.getConnection();
    wc = (WrappedConnection) dsConn;
    // with getUnderlying connection method , cast it to Oracle
    // Connection
    oracleConnection = wc.getUnderlyingConnection();
    tempBlob = BLOB.createTemporary(oracleConnection, true, BLOB.DURATION_SESSION);
    tempBlob.open(BLOB.MODE_READWRITE);
    OutputStream tempBlobWriter = tempBlob.getBinaryOutputStream();// setBinaryStream(1);
    tempBlobWriter.write((byte[]) value);
    tempBlobWriter.flush();
    tempBlobWriter.close();
    tempBlob.close();
    st.setBlob(index, tempBlob);
    } else {
    st.setBlob(index, BLOB.empty_lob());
    } catch (Exception exp) {
    if (tempBlob != null) {
    tempBlob.freeTemporary();
    exp.printStackTrace();
    st.setBlob(index, BLOB.empty_lob());
    // throw new RuntimeException();
    } finally {
    if (wc != null) {
    wc.close();
    public Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws HibernateException, SQLException {
    final Blob blob = rs.getBlob(names[0]);
    return blob != null ? blob.getBytes(1, (int) blob.length()) : null;
    public Object deepCopy(Object value) {
    if (value == null)
    return null;
    byte[] bytes = (byte[]) value;
    byte[] result = new byte[bytes.length];
    System.arraycopy(bytes, 0, result, 0, bytes.length);
    return result;
    public boolean isMutable() {
    return true;
    public Object assemble(Serializable arg0, Object arg1) throws HibernateException {
    return assemble(arg0, arg1);
    public Serializable disassemble(Object arg0) throws HibernateException {
    return disassemble(arg0);
    public int hashCode(Object arg0) throws HibernateException {
    return hashCode();
    public Object replace(Object arg0, Object arg1, Object arg2) throws HibernateException {
    return replace(arg0, arg1, arg2);
    =================================================================
    can anyone give me the source code for this BinaryBlobType.java according to mysql blob handling ..

    Moderator action: crosspost deleted.

  • How to print Chinese character in java

    Hi All,
    I have a problem .
    I am trying to read a file which contains chinese characters and the print the content of this file to the printer.
    But when the content of the file is being printed, it is printing weird characters and not chinese characters. Can anyone please help.
    Plese find below, my code.
    import java.io.*;
    import java.lang.*;
    import java.io.BufferedInputStream;
    class FileRead{
    //--------------------------------------------------< main >--------//
    public static void main (String[] args) {
    FileRead t = new FileRead();
    t.readMyFile();
    //--------------------------------------------< readMyFile >--------//
    void readMyFile() {
    String record = null;
    int recCount = 0;
    try {
         FileReader fr = new FileReader("amaebisushi.GB.TXT");
         FileOutputStream os = new FileOutputStream("\\\\ps_apex_1\\ps_lpt1");
    BufferedReader br = new BufferedReader(fr);
    PrintStream ps2 = new PrintStream(os);
    record = new String();
    while ((record = br.readLine()) != null) {
    recCount++;
    System.out.println(recCount + ": " + record);
    ps2.println(recCount + ": " + record);
    } catch (IOException e) {
    // catch possible io errors from readLine()
    System.out.println("Uh oh, got an IOException error!");
    e.printStackTrace();
    } // end of readMyFile()
    } // end of class

    Try not to rely upon the default encoding, but define it explicitly.

  • How to handle Server answers in java

    Hi there,
    I am sending some bytestreams to a server (via socket) which is able to perform certain tasks, depending on what i am sending.
    I expect now answers from this server. I guess these answers should be handeled in a separate thread which always 'listens' for any incoming answer.
    Can this data somehow buffered in a variable, like a messagetable, or whats the best approach to handle that?
    DataInputStream StreamfromEsServer
      = new DataInputStream(connectToServer.getInputStream());
    (StreamfromEsServer.readFully(datareceive));Any ideas are greatly appreciated,
    regards,
    stonee

    any ideas?
    thanks a lot,
    stonee

  • Multibyte Character handling in Upload

    Hi Everyone,
    We had handled the multibyte character on uploading a CSV file converting BLOB to NCLOB instead of earlier BLOB to CLOB.  This worked fine as per our requirement but issue arised with the performance.  A file that was loading in 20 seconds, was loading in more than 7 minutes.
    Please let us know if there are any equivalent of NCLOB usage to handle multibyte character without compromising on the performance of the upload.
    Any suggestions appreciated
    DB Version used is 11g
    Regards,
    Sunil

    Hi Sunil,
    Even I am facing the same problem.
    Using BLOB to NCLOB is degrading the Performance.
    Can anyone help here.
    DB version is 11G.
    Regards,
    Animesh

  • How to handle the error handling..its urgent

    hi guys...
    how to handle the Exception using jsf. for example...in java program we try to connect the server...if server not connect then the exception occur like java.net.ConnectException.. i have to handle exception using jsf and display related error page...plz give me ur valuable words..its need is very urgent..
    advance thanx and with regards
    DJ

    Hi,
    1. create a new error bundle (myErrMsg) // copy from javax/faces/Messages.properties in jsf-impl.jar
    2. declare this bundle in your faces-config
    <application>
    <message-bundle>bundle.MyErrMsg</message-bundle>
    <locale-config>
    <default-locale>en</default-locale>
    <supported-locale>de</supported-locale>
    <supported-locale>fr</supported-locale>
    </locale-config>
    </application>
    3. handle the Exception in your backing bean
    ResourceBundle bdle = ResourceBundle.getBundle("bundle.MyErrMsg",this.getLocale());
    context.addMessage(clientId, new FacesMessage(severity, bdle.getString(key), null));
    4. add the tag messages in your jsp
    <h:messages layout="table" errorClass="TextError" infoClass="Text"/>

  • Handling Character Entities - Java Mapping Issue

    Hi Experts,
        I need to replace the character entities in my input XML. But, the problem is the java mapping I've written isn't replacing  the character entities as expected.  For example if my input XML  contains <NAME>&><XYZ</NAME>, then the ouput is <NAME>&amp:&gt:<0001&lt:/NAME>, whereas it should be <NAME>&amp:&gt:&lt:0001</NAME>.
    Note: I've used : instead of ; just to show it properly SDN.
    Can any of you share the code for the same if you've used it already?
    Thanks a lot in advance.
    Regards,
    Hussain.

    Hi Pooja,
        Thanks for your prompt reply.
    Are you trying to use the java mapping just to handle the character entities or your interface itself only has a java mapping?
                   - I'm using Java Mapping just to handle the character entities. Say my input XML looks like
    <?xml version="1.0" encoding="UTF-8"?>
    <resultset>
    <row>
    <ID>&<1</ID>
    <MESSAGE><![CDATA[<?xml version="1.0" encoding="UTF-8" ?><LGORT>&<0001</LGORT>]]></MESSAGE>
    </row>
    </resultset>
    I need to replace &< in <ID> to &amp:&lt: and similarly for CDATA <LGORT>&amp:&lt:0001</LGORT> before I process it in XI. In my java mapping I read the whole XML as string (line by line as mentioned below) and try to replace the character entities using some logic, which isn't working properly.
    StringBuffer buffer = new StringBuffer();
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
    for (String lineRead = reader.readLine(); lineRead != null; lineRead = reader.readLine()) {
           buffer.append(lineRead);
    I've also checked the thread mentioned by Srinivas. But, StringEscapeUtils.escapeXml() would replace all the character entities like &lt:?XML... , which would result in an invalid xml...
    Please suggest.
    Thanks,
    Hussain.

  • How to handle an invisible character in a string?

    Hi,
    I have an interesting situation-
    select bac_person_id, length(bac_person_id) from bkmap_personid_stg where BAC_PERSON_ID like '%27136317%'
    The result is -
    BAC_PERSON_ID|LENGTH(BAC_PERSON_ID)
    27136317|     9
    I don't know what is the invisible character here?
    It is certainly not a blank character as trim is not working -
    select * from bkmap_personid_stg where trim(BAC_PERSON_ID) = '27136317'
    no records!!
    But substr does give me the resullt -
    select * from bkmap_personid_stg where substr(BAC_PERSON_ID,1,8) = '27136317'
    How can I know which is the last character? and How to handle it?

    girija_pathak wrote:
    How can I know which is the last character? and How to handle it?You use the DUMP() function in SQL in order to see the actual content of the column.
    E.g.
    select DUMP(bac_person_id) from bkmap_personid_stg where bac_person_id like '%27136317%'
    The decimal character values will be displayed - enabling you to see where and what control characters characters exist in the string value for that column.

  • How to handle the java.policy file ?

    Can somebody tell me how to handle the java.policy file?
    I always get java.net.SocketExceptions and java.security.AccessControlExceptions while connecting to an appserver from an applet.
    What do I have to write in the java.policy file, where do I have to place it and do I have to call it in some way form my applet?
    Thanks in advance.
    don call

    The java.policy file goes in your jre installation directory in .../jre/lib/security (there should be one there already).
    I used it to allow otherwise restricted permissions for an applet using javax.comm. Add something like the following to the file:
    grant codeBase "URL:http://yourDomainName/rootDirectoryOfYourApp/*" {
         permission java.security.AllPermission;
    This will give the applet downloaded from your site all permissions. You might want to give only certain permissions, I don't know.
    Teri

  • How to handle Java popup in oracle forms application through Open Script?

    I want to record and test oracle form application but it popup java dialogue box and Open Script can't handle java object.
    So how to handle the Java popups in forms application?

    Hi, Have you been able to resolve this?

  • How to handle event when the user closing the browser (Urgent Please)

    Hi,
    How to handle the event when user closes the browser....
    i want to display some alter message when user trying to close the browser...
    Please can any one help me how i have to do this...........
    Thanks.

    Finally got this working. You cannot use the stop() or destroy methods. By the time they are called all database connections are gone and you will get a null pointer exception.
    You will have to use the onBeforeUnload method in the html file that calls the applet and use JavaScript to call the save method in java which saves the document:
    <SCRIPT LANGUAGE="JScript" TYPE="text/javascript">
    function Save()
    //i call the applets doSave() method from here in which i save all
    //changes to the database
    top.Tree.document.TestApplet.doSave();
    //this will invoke the default IE message for closing the window
    //when user clicks on the x in the browser
    message = "Your document has been saved."
    return message;
    window.onbeforeunload=Save;
    </SCRIPT>
    //the applets doSave()
    public void doSave()
    //this frame provides user with the message that document is being
    //saved
    final JFrame frame = new JFrame("Saving");
    JPanel contentPane = new JPanel();
    JLabel label = new JLabel(" Please wait, saving document...");
    frame.getContentPane().add(label,BorderLayout.CENTER);
    frame.setSize(250, 100);
    frame.setLocation(300, 400);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.addWindowListener(new WindowAdapter()
    //the frame is just for user's information, so prevent user from
    //closing it or iconifying it.
    public void windowClosing(WindowEvent e)
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    public void windowIconified(WindowEvent e)
    frame.setState(frame.NORMAL);
    //call my saveDocument() method that saves everything to the database.
    editorModule.saveDocument();
    //System.out.println("finished calling saving document");
    //once the saving is done the frame with the message disappears
    frame.setVisible(false);
    //System.out.println("setting frame to false");
    //I also had an exit button in my applet, that would perform the same task, however now with the above onBeforeUnload method, the exit message would appear twice, so had to modify my exit button action performed, so that if the exitbutton was clicked the onbeforeunload method would get passed a null value and not do anything.
    private void exitButton_actionPerformed()
    if (DEBUG) System.out.println("Calling exit");
    doSave();
    window.eval("this.onbeforeunload=null;");
    window.eval("top.close();");
    //continue from here if user cancels the closing of the window
    window.eval("this.onbeforeunload=doSave;");
    window.eval("top.focus()");
    window.eval("document.TestApplet.requestFocus()");
    homePanel.requestFocus();
    }

Maybe you are looking for