Multibyte characters to ASCII


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Multibyte characters to ASCII
# 1  
Old 11-11-2005
Multibyte characters to ASCII

Hello,

Is there any UNIX utility/command/executable that will convert mutlibyte characters to standard single byte ASCII characters in a given file?

and

Is there any UNIX utility/command/executable that will recognize multibyte characters in a given file name?

The typical multibyte character set that we might encounter are Chinese and or Japanese.

Thanks
Jerardfjay Smilie
# 2  
Old 11-14-2005
You want the conversion to be done within a script ?

Why do you want to do that ? Those things are usually done within the application.

If your intention is to just view those ZH*/JA locale characters, then you might as well change the locale information on your machine and then view those files. Instead of the machine, the locale change can be done to your xterm itself.

Very specifically, LC_ALL and LANG variables.

It would go something like this

LC_ALL=ja_JP.euc_jp
LANG=ja_JP.euc_jp

Vino
# 3  
Old 11-14-2005
Quote:
Originally Posted by vino
You want the conversion to be done within a script ?

Why do you want to do that ? Those things are usually done within the application.
Vino,

Which is precisely what I intend to do If I can do it. Unfortunately there are several apps that feed into my script and changing the back-end system is not feasible.

Even though I may not be able to change the data content represented in multi-byte character to single, If I can perform the change atleast at the file name level I should be ok.

Please advise. Thanks
Jerardfjay
# 4  
Old 11-14-2005
Quote:
Originally Posted by vino
It would go something like this

LC_ALL=ja_JP.euc_jp
LANG=ja_JP.euc_jp

Vino
Vino,

I also noticed that I have two env vars set for the Language

Code:
shell>> env | grep LANG
LANG=ja_JP.euc_jp
NLS_LANG=AMERICAN_AMERICA.US7ASCII

Question: Should I unset the NLS_LANG to for my login to use the LANG variable? Please advise. Thanks.

Jerardfjay
# 5  
Old 11-14-2005
POSIX locale and localedef don't support NLS_<anything> - there is an NLSPATH that is part of locale settings. With the exception of LANG, the locale variables all are LC_<something>. The NLS_<anything> variables I've seen have been in support of databases.

You will want to follow Vino's advice and use the LANG environment variable, but leave the NLS_ stuff alone. It doesn't affect locale.
# 6  
Old 11-14-2005
Jim,

thanks for the clarification between the two vars. Would you happen to know if these variables are system wide settings or for individual logins? Would I require a special type of terminal emulator like exceed to see the character sets correctly or would a normal windows telnet session be okay. Please advise. Thanks.

Jerardjjay
# 7  
Old 11-17-2005
Quote:
Originally Posted by jerardfjay
Jim,

thanks for the clarification between the two vars. Would you happen to know if these variables are system wide settings or for individual logins? Would I require a special type of terminal emulator like exceed to see the character sets correctly or would a normal windows telnet session be okay. Please advise. Thanks.

Jerardjjay
You dont need to set the locale information explicitly.

when you set these variables to values of your choice, you have the luxury of having two locales in your machine. But each locale will be specific to a terminal.

I am not sure about a telnet window displaying those characters. But on kdesktop, I could see them.

Vino
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Lower ASCII characters.

Hi, I'm writing a BBS telnet program. I'm having issues with it not displaying lower ASCII characters. For example, instead of displaying the "smiley face" character (Ctrl-B), it displays ^B. Is this because i'm using Ncurses? If so, is there any way around this? Thanks. (3 Replies)
Discussion started by: ignatius
3 Replies

2. Shell Programming and Scripting

Positional insertion for multibyte characters

Hi I have a requirement to insert a dot "." after a position in each line, say 110th position. For which, I have written the below command. cat filename | sed 's/./&\./110' > new_filename The code is working fine, but when we have multi byte (2 or 3) characters in the input file, the... (3 Replies)
Discussion started by: tostay2003
3 Replies

3. Shell Programming and Scripting

Grep to remove non-ASCII characters

I have been having an encoding problem that I need to solve. I have an 4-column tab-separated file: I need to remove all of the lines that contain the string 'vis-à-vis' achiever-n vis-à-vis+ns-j+vp oppose-v 1 achiever-n vis-à-vis+ns-the+vg assess-v 1 administrator-n ... (4 Replies)
Discussion started by: owwow14
4 Replies

4. Shell Programming and Scripting

Removing these non-ASCII characters from a file

Hi, I have many text files which contain some non-ASCII characters. I attach the screenshots of one of the files for people to have a look at. The issue is even after issuing the non-ASCII removal commands one of the characters does not go away. The character that goes away is the black one with a... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies

5. Shell Programming and Scripting

PHP: preg_match_all with multibyte characters?

Hi! I'm trying to separate text into sentences, like this: $pattern = "/(|]|,)**/"; preg_match_all($pattern, $text, $matches); This works fine unless the text contains multibyte characters, like "åäö". How can I make this work with these exotic characters? An example phrase that doesn't match:... (1 Reply)
Discussion started by: Ilja
1 Replies

6. Shell Programming and Scripting

New line characters in Ascii file

I am having a file(1234.txt) downloaded from windows server (in Ascii format).However when i ftp this file to Unix server and try to work with it..i am unable to do anything.When i try to open the file using vi editor the file opens in the following format ... @ @ @ @ @ @ @ @... (4 Replies)
Discussion started by: appu2176
4 Replies

7. Shell Programming and Scripting

convert ascii values into ascii characters

Hi gurus, I have a file in unix with ascii values. I need to convert all the ascii values in the file to ascii characters. File contains nearly 20000 records with ascii values. (10 Replies)
Discussion started by: sandeeppvk
10 Replies

8. Shell Programming and Scripting

PHP: preg_match_all with multibyte characters?

Hi! I'm trying to separate text into sentences, like this: $pattern = "/(|]|,)**/"; preg_match_all($pattern, $text, $matches); This works fine unless the text contains multibyte characters, like "åäö". How can I make this work with these exotic characters? (2 Replies)
Discussion started by: Ilja
2 Replies

9. Shell Programming and Scripting

Replace characters in a string using their ascii value

Hi All, In the HP Unix that i'm using when i initialise a string as Stalled="'30¬G'" Stalled=$Stalled" '30¬C'", it is taking the character ¬ as a comma. I need to grep for 30¬G 30¬C in a file and take its count. But since this character ¬ is not being understood, the count returns a zero. The... (2 Replies)
Discussion started by: roops
2 Replies

10. Programming

stupid question about ascii characters

i know it's out there, but I cannot remember how to check if a given ascii character string contains all digits or not ... any ideas? ie...function("123") --> OK function("NOT_A_NUMBER") --> returns error thanks!! (2 Replies)
Discussion started by: jalburger
2 Replies
Login or Register to Ask a Question