Unicode file in 4.6c
Hi
I have a unicode file containing russian chars. I have a SAP System 4.6C with Russian language pack applied. Is it possible to read the file and preserve the russian chars correctly ? .. Any detals or code appreciated ..
Thanks
Damien
Pl check this
a®
Similar Messages
-
Upload unicode file and display content in a textarea
Hi all,
I am trying to do the following;
1. upload a unicode file (file with some non-english characters)
2. after uploading, read the uploaded file and show the content in a textarea in a jsp page.
I use struts in my project. I use class org.apache.struts.upload.FormFile for uploading the file. The upload works fine. I do the upload with help of FormFile's getInputStream method. When i read and display the content in the textarea, the content is displayed junk. But i tried to open the uploaded file, its fine. I mean it is just as my source file. Please help me out for reading the uploaded unicode and displayed in a textarea.
Below is the code that i use to upload the file;
File tempFile = null;
FileOutputStream fos = null;
InputStream is = null;
try {
tempFile = "c:/ThaiText.txt";
fos = new FileOutputStream(tempFile);
is = theFile.getInputStream();
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = is.read(buf)) > 0) {
fos.write(buf, 0, len);
logger.info("fileName$$=" + tempFile.getName());
} catch (Exception e) {
logger.error(e);
throw e;
} finally {
closeOutputStream(fos);
}Below is the code that i use for reading the uploaded file's content and store it to a string. I set this string to a form bean's string property.
public static String readContentNonUTF8(String path) {
FileInputStream fis = null;
String value = "";
try {
fis = new FileInputStream(path);
byte[] buf = new byte[1024];
int len;
while ((len = fis.read(buf)) > 0) {
String tmp = new String(buf, 0, len);
value = value.concat(new String(tmp.getBytes()));
} catch (Exception e) {
logger.error(e);
} finally {
try {
fis.close();
} catch (Exception e) {
return value;
}Hi,
Thanks for your reply. You meant that both method also can used to upload file and submit data? How about if i want to use the first method to upload file and submit data? How can i upload the file by using first method? -
Problem with compressing unicode file names in zip file
Hi Everyone,
I have a problem while compressing the unicode file name in a zip file. I used the below code for compressing the unicode files.
String[] source = null;
// C:\\TestData\\unicode_filename.txt : unicode_filename.txt is the file created in japanesse language
source = new String[] {"C:\\TestData\\temp_properties.xml","C:\\TestData\\unicode_filename.txt" };
byte[] buf = new byte[1024];
// Create the ZIP file
String target = "C:\\TestData\\target.zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
// Compress the files
for (int i = 0; i < source.length; i++)
FileInputStream in = new FileInputStream(source);
// Add ZIP entry to output stream.
String fileName;
File tempFile;
ZipEntry zipEntry = new ZipEntry(source[i]);
fileName = zipEntry.getName();
zipEntry = new ZipEntry(fileName);
zipEntry.setMethod(ZipEntry.DEFLATED);
getUTF8Bytes(source[i]);
// here I'm unable to find the unicode files and not able to understand.
out.putNextEntry(zipEntry);
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
// Complete the entry
out.closeEntry();
in.close();
// Complete the ZIP file
out.close();Please help me how to fix this issue.
ThanksHi,
Thanks for your time for looking into my query.
Please check the below code for debugging the issue and throw your comments/suggestions for fixing the issue.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipTest
public static void main(String[] args) {
String[] source = new String[] {"C:\\TestData\\APP_Properties.xml","C:\\TestData\\??.txt" };
byte[] buf = new byte[1024];
try {
// Create the ZIP file
String target = "C:\\TestData\\target.zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
// Compress the files
for (int i = 0; i < source.length; i++) {
FileInputStream in = new FileInputStream(source);
// Add ZIP entry to output stream.
String fileName;
File tempFile;
ZipEntry zipEntry = new ZipEntry(source[i]);
fileName = zipEntry.getName();
zipEntry = new ZipEntry(fileName);
zipEntry.setMethod(ZipEntry.DEFLATED);
getUTF8Bytes(source[i]);
out.putNextEntry(zipEntry);
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
// Complete the entry
out.closeEntry();
in.close();
// Complete the ZIP file
out.close();
} catch (IOException e) {
e.printStackTrace();
private static byte[] getUTF8Bytes(String s) {
char[] c = s.toCharArray();
FileOutputStream file;
try {
file = new FileOutputStream("C:\\TestData\\output.txt", true);
int len = c.length;
// Count the number of encoded bytes...
int count = 0;
for (int i = 0; i < len; i++) {
int ch = c[i];
if (ch <= 0x7f) {
count++;
} else if (ch <= 0x7ff) {
count += 2;
} else {
count += 3;
// Now return the encoded bytes...
byte[] b = new byte[count];
int off = 0;
for (int i = 0; i < len; i++) {
int ch = c[i];
if (ch <= 0x7f) {
b[off++] = (byte) ch;
file.write((byte) ch);
} else if (ch <= 0x7ff) {
b[off++] = (byte) ((ch >> 6) | 0xc0);
file.write((byte) ((ch >> 6) | 0xc0));
b[off++] = (byte) ((ch & 0x3f) | 0x80);
file.write((byte) ((ch & 0x3f) | 0x80));
} else {
b[off++] = (byte) ((ch >> 12) | 0xe0);
file.write((byte) ((ch >> 12) | 0xe0));
b[off++] = (byte) (((ch >> 6) & 0x3f) | 0x80);
file.write((byte) (((ch >> 6) & 0x3f) | 0x80));
b[off++] = (byte) ((ch & 0x3f) | 0x80);
file.write((byte) ((ch & 0x3f) | 0x80));
file.write((byte) '\n');
file.write((byte) '\r');
file.flush();
file.close();
return b;
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
return null;
}Thanks
Aravind -
Special characters being read from the unicode file for greek language
Hi All,
I have a report which would upload a unicode file and then update the vendor master data accordingly.
The file contains greek characters too.
when the file is being read in the code, some special characters are being added up to the vendor number which is the first entry. The special characters are not included in the file , but are added up only to the first vendor number and not any other vendor numbers.
The logic that is being used is as follows :
TRY.
IF unicode IS INITIAL.
IF codepage IS INITIAL.
*--> For backward compatibility where this FM might be called from
* other dependent objects (FMs/dynamic subroutines)
* which donot have access to user's input w.r.t Unicode parameters
OPEN DATASET filename FOR INPUT
IN LEGACY TEXT MODE
MESSAGE msg
REPLACEMENT CHARACTER repl_char
IGNORING CONVERSION ERRORS
FILTER filter.
ELSE.
*--> System in non-unicode and Unicode Environment (Phases I and II)
OPEN DATASET filename FOR INPUT
IN LEGACY TEXT MODE CODE PAGE codepage MESSAGE msg
REPLACEMENT CHARACTER repl_char
IGNORING CONVERSION ERRORS
FILTER filter.
ENDIF.
ELSE.
*--> Extract File in Unicode format - Phase III
OPEN DATASET filename FOR INPUT IN TEXT MODE ENCODING UTF-8
MESSAGE msg
FILTER filter.
ENDIF.
IF sy-subrc NE 0.
MESSAGE e001(zuni) WITH filename sy-subrc
RAISING file_open_error.
ENDIF.
the unicode parameters used are : codepage = 8000.
An early reply is most appreciated.
Regards,
Manu.Please check SAP notes for Eastern European Characters in Unicode system. and may be below code helps you
DATA:
ltp_bom TYPE sychar01,
ltp_encoding TYPE sychar01,
ltp_codepage TYPE cpcodepage.
Processing --------------------------------------------------------- *
TRY.
CALL METHOD cl_abap_file_utilities=>check_utf8
EXPORTING
file_name = itp_filename
max_kb = -1
all_if_7bit_ascii = abap_true
IMPORTING
bom = ltp_bom
encoding = ltp_encoding.
CATCH cx_sy_file_open .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING file_open_error.
CATCH cx_sy_file_authority .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING file_authority_error.
CATCH cx_sy_file_io .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING file_io_error.
ENDTRY.
CASE ltp_encoding.
WHEN cl_abap_file_utilities=>encoding_utf8
OR cl_abap_file_utilities=>encoding_7bit_ascii.
CASE ltp_bom.
WHEN cl_abap_file_utilities=>no_bom.
OPEN DATASET itp_filename FOR INPUT IN TEXT MODE
ENCODING UTF-8.
WHEN cl_abap_file_utilities=>bom_utf8.
OPEN DATASET itp_filename FOR INPUT IN TEXT MODE
ENCODING UTF-8
SKIPPING BYTE-ORDER MARK.
WHEN cl_abap_file_utilities=>bom_utf16_be.
ltp_codepage = '4102'.
OPEN DATASET itp_filename FOR INPUT IN LEGACY BINARY MODE
BIG ENDIAN CODE PAGE ltp_codepage.
WHEN cl_abap_file_utilities=>bom_utf16_le.
ltp_codepage = '4103'.
OPEN DATASET itp_filename FOR INPUT IN LEGACY BINARY MODE
LITTLE ENDIAN CODE PAGE ltp_codepage.
WHEN OTHERS.
OPEN DATASET itp_filename FOR INPUT IN TEXT MODE
ENCODING UTF-8.
ENDCASE.
WHEN OTHERS.
OPEN DATASET itp_filename FOR INPUT IN LEGACY TEXT MODE.
ENDCASE.
Edited by: Nilesh Shete on May 7, 2010 5:29 PM -
How to convert the local file into unicode file?
Hi All,
I need read local file (GUI_UPLOAD) and save it as unicode file?
I've found class CL_ABAP_CONV_OUT_CE but I've no idea how to use it.
Should I read file in binary mode and then convert it into unicode? AT the and save it (GUI_DOWNLOAD) ?
Thanks
AdamHi,
Check these classes, will help you
CL_ABAP_CONV_IN_CE : Reading binary data
CL_ABAP_CONV_OUT_CE : exporting binary data
CL_ABAP_CONV_X2X_CE : reading and exporting binary data and changing the format
Regards,
Satish -
I have a problem reading unicode text files.
As written in books and that stuff i should use Reader instead of InputStream for this purpose. I do so and what i get is letters separated by \u0000 chars. So what is the way to convert unicode to "normal" strings. I deleted all the 00 using StringBuffer, but it don't work in older VMs, such as provided with win98.
So, what is the way-out?....the second problem going to be is writing unicode files:)You have a file encoded using UTF-16, it sounds like. If you use a FileReader, let's say, that object will assume the file you are reading is encoded in your system's default encoding. Unfortunately that default is not going to be UTF-16, but something else like ISO-8859-1. To read a file using an encoding that you specify, do this:Reader r = new InputStreamReader(new FileInputStream(yourFile), "UTF16-BE");This will give you a reader that will probably work... although I don't know if your files are "big-endian" or "little-endian", so you might have to use "UTF16-LE" instead.
You can wrap that Reader in a BufferedReader if you like, that's generally more efficient for input processing. And to write your data in UTF-16, do the similar thing using an OutputStreamWriter with the same encoding. Check out the API documentation page for the java.io package; the line about InputStreamReader will have a link for either "encoding" or "charset" that will give you more information about UTF-16 and so on. -
Unicode file formats ( open dataset)
Hi,
We are sending Unicode file with encoding as UTF-8( open dataset) containing Greek character to Legacy system. Legacy system( Sql server) is not able to understand this file format. As a workaround legacy side team coverts the file to Unicode UCS-2 using notepad ( by selecting encoding option as Unicode) and then uploading it to SQL server..
Is there anyway to convert the UTF-8 file to other Unicode file format ( say UCS-2 )within SAP or generate the desired file format.Hi Martin,
Thanks for the help!!!
I tried to convert the file format from UTF-8 to UCS-2 using the methods of the class mentioned but it didn't fulfill my requirement. I have Greek character in UTF-8 format and when I convert it to any other other format then Greek character are displayed as #.
Problem is legacy SQL server don't support UTF-8 format. I tried open data set with binary mode & also legacy text mode with all available code pages but result were not fruitful.
( Program RSCP_CONVERT_FILE to convert code page - I used target code page as all possible UTF* , UCD* & Greek code page but no luck ).
I am just wondering whether SAP can convert UTF-8 to UCS-2 or not. Other option I am thinking is to have the file converted by Unix script that is application server external command which can be executed via FTP. -
I am trying to install Adobe Premiere Elements 9 without success. I successfully installed Photoshop Elements 9 without a problem. The message I am getting is 'Invalid Unicode file - .\Autoplay\LangData\en_US\lang.dat'. Anyone out there who can help please?
click setup, not autoplay.
-
Create unicode file and read unicode file
Hi
How can create a unicode file and open unicode file in LV
Regards
Madhugmadhu wrote:
Hi
How can create a unicode file and open unicode file in LV
Regards
Madhu
In principle you can't. LabVIEW does not support Unicode (yet)! When it will officially support that is a question that I can't answer since I don't know it and as far as I know NI doesn't want to answer.
So the real question you have to ask first is where and why do you want to read and write Unicode file. And what type of Unicode? Unicode is definitly not just Unicode as Windows has a different notion of Unicode (16 Bit characters) than Unix has (32 Bit characters). The 16 Bit Unicode from Windows is able to cover most languages on this globe but definitly not all without code expansion techniques.
If you want to do this on Windows and have decided that there is no other way to do what you want you will probably have to access the WideCharToMultiByte() and MultibyteToWideChar() Windows APIs using the Call Library Node in order to convert between 8 bit multybyte strings as used in LabVIEW and the Unicode format necessary in your file.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Unicode file and path names...
How does SleepyCat handle Unicode file names and directory paths?
Are there any coding examples?
ThanksWe have support for Unicode using UTF-8 encodings.
What platform(s) do your applications need to run on? Would Windows support for UTF-8 be sufficient?
Related information:
DB_ENV->open: http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/env_open.html
DB->open: http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/db_open.html
"When using a Unicode build on Windows (the default), the db_home argument will be interpreted as a UTF-8 string, which is equivalent to ASCII for Latin characters."
"When using a Unicode build on Windows (the default), the file argument will be interpreted as a UTF-8 string, which is equivalent to ASCII for Latin characters."
Bogdan Coman -
Downloading a File with a Unicode File-name
hello!
I have a program under Tomcat
this program has a JSP file with Links on different files
that can be downloaded by the user
on click to a certain link, a pop-up for save-as dialog will appear.
the unicode file-name appears correctly on the save-as dialog box
the save-as dialog box contains buttons such as
Open, Save and Cancel
the result is:
Dialog-Display FileName- OK
Open - NG
Save - OK
im using IE 6 sp1
heres my code on the force-download
response.setContentType("application/octct-stream;charset=UTF-8");
response.setContentType("application/force-download");
response.setHeader("Content-Disposition", "attachment;filename="
+ downloadFileName );already solved....................
-
Hi all,
I'm fairly new to java. In my program i need to read a Unicode file. (When i did it normal way it shows only "?" s for all the non English characters).
can any one help me? (It better u can sent a simple example too)
Thanks.
regards,
wijithaUse an InputStreamReader.
-
Hello,
I want to upload a flat file (*.txt, encoding UTF-8) containing text fields with a length of 110 characters to a PSA table in a Unicode system. In case the field entry only consists of Unicode characters (in my example Kanji or Kana) the PSA entry is cut off at a length of 42 characters. Are the entries a mix of Unicode and non-Unicode characters the number of the inserted characters is variable. I found the OSS Note 941642 and added Dummy fields to the transfer structure. Furthermore I try read the flat file using an APD. In both cases I got the same result (only 42 characters).
Is there a restriction to single fields in the PSA table or does anyone know what to do to load the complete 110 Kanji characters into the PSA table?
Thank you and best regards.
TanjaHello Thomas,
I know that the maximum lenght of an InfoObject is 60 characters. Therefore I want to split up the field (110 characters) in the transfer rules and upload it into two InfoObjects (60 and 50 characters) of a DSO. This works for ASCII characters, but fields with Kanji characters seem to have a maximum lenght of 42 characters.
Any idea?
Thank you. Tanja -
BLOB unicode file name problem
Hi,
I am trying to upload pdf file into SecureLOB column, I am getting error when I try to upload file name/directory with unicode char, for other files/directory it works fine.
w_src_loc := bfilename('LDIR', in_file_name);
dbms_lob.open(w_src_loc, dbms_lob.lob_readonly);
dbms_lob.open gives file not found error in oracle 11g,
Can any one guide me what may be the problem?
DB's character set:
NLS_CHARACTERSET
AL32UTF8
NLS_NCHAR_CHARACTERSET
AL16UTF16
P.S. Oracle is running in Windows and unicode (chinese) enabled OS.
-Raj> I am getting error when I try to upload file name/directory with unicode char,
ERROR? What Error?
I do not see any error.
my car won't go
tell me how to make my car go.
How do I ask a question on the forums?
https://forums.oracle.com/message/9362002#9362002 -
Reading a unicode file and displaying it on jsp !!!!!
I've one file that consists of unicode character. I've to read it and display it on the jsp page. I'm able to display it other contents but for unicode i'm unable to display it properly. Could anyone help me how to achieve this problem.....
in advance thanks a lot...............Read this.
Maybe you are looking for
-
I am working on how to make an aggragate list that I would like to overlay to a calendar, or add to a timeline. There are more than 20 different project sites that have task lists. I created a custom content type for a task list that adds the colum
-
Removing music from itunes without affecting music on ipod
How can you delete music from the itunes library as well as the itunes folder, but not have these same songs deleted from the ipod that syncs with the computer?
-
Apple Password doesn't work when it is the correct password
A few days ago, in the middle of playing music on iTunes, I was no longer able to sign in. When I tried to sign into Apple that day, my password (which I know was correct) didn't work. So I reset my password. Today I tried to sign into Apple with the
-
hi there if nokia is working on an update for the x6 i hope they look here or hear what the users want. so i searched for a wishlist but i didnt found one. if there is already one plz tell me. so my wishes are: 1 make the contact-overview that is ava
-
Dynamic change of drop down values
hi gurus, I got a peculiar senario. i have three fields on modlue pool screen which are having drop downs. based on the selected value in the first drop down second drop down values has to display. suppose. first drop down displays the bellow values.