Sponsored Content
Top Forums Programming How will the behaviour of multibyte char differ because of different LC_CTYPE locale? Post 302509182 by baig_1988 on Wednesday 30th of March 2011 07:51:52 AM
Old 03-30-2011
How will the behaviour of multibyte char differ because of different LC_CTYPE locale?

I am comparing two multibyte characters in two different platforms having different LC_CTYPE variables, they are returning different values.

One of the variable is sigma initialised to "\317\203"
and the other one is empty string i.e, ""

Below is the scenario of the two platforms:

In AIX:
LC_CTYPE="en_GB"

In Linux:
LC_CTYPE="en_US.UTF-8"
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

split string with multibyte delimiter

Hi, I need to split a string, either using awk or cut or basic unix commands (no programming) , with a multibyte charectar as a delimeter. Ex: abcd-efgh-ijkl split by -efgh- to get two segments abcd & ijkl Is it possible? Thanks A.H.S (1 Reply)
Discussion started by: azmathshaikh
1 Replies

2. Shell Programming and Scripting

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... (8 Replies)
Discussion started by: jerardfjay
8 Replies

3. 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

4. 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

5. Shell Programming and Scripting

sftp file size differ

Hi, I have one doubt over sftp. I am trnasferring a file from server1 to server2 using sftp. The size of the file shows different in file 1 and file2 after sftp even though it shows same number of byte transferred. I don't understand the problem. For example: I have file1 having size... (3 Replies)
Discussion started by: siba.s.nayak
3 Replies

6. Programming

error: invalid conversion from ‘const char*’ to ‘char*’

Compiling xpp (The X Printing Panel) on SL6 (RHEL6 essentially): xpp.cxx: In constructor ‘printFiles::printFiles(int, char**, int&)’: xpp.cxx:200: error: invalid conversion from ‘const char*’ to ‘char*’ The same error with all c++ constructors - gcc 4.4.4. If anyone can throw any light on... (8 Replies)
Discussion started by: GSO
8 Replies

7. Shell Programming and Scripting

Store user input in differ

Hello all Can anyone help me to solve the below issue I want to take user input with space separated .The number of inputs can be variable like if user inputs 1 2 3 4 ouput will stored in as array a where i=4 and I can retreive the value like a =3 any thoughts how to do it ... (2 Replies)
Discussion started by: Pratik4891
2 Replies

8. Shell Programming and Scripting

List the file names that differ

Hello, I have two directories - prev and current . They both have same multiple subdirectories and files. Now the current directory can have some updated files and some new files added that is not in prev. I want to find the list of file names that differ. I am doing this because i can not... (2 Replies)
Discussion started by: jakSun8
2 Replies

9. Shell Programming and Scripting

User switching without carrying over LC_CTYPE env variable

I am using Solaris8, userA's shell '/usr/ace/prog/sdshell', AppuserB's shell '/bin/ksh'. serverT:/home/userA>LC_CTYPE=iso_8859_1; export LC_CTYPE; vtemp='userA variable'; export vtemp serverT:/home/userA>echo "LC_CTYPE=$LC_CTYPE, vtemp=$vtemp"; LC_CTYPE=iso_8859_1, vtemp=userA... (4 Replies)
Discussion started by: kchinnam
4 Replies

10. 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
MBRLEN(3)						     Linux Programmer's Manual							 MBRLEN(3)

NAME
mbrlen - determine number of bytes in next multibyte character SYNOPSIS
#include <wchar.h> size_t mbrlen(const char *s, size_t n, mbstate_t *ps); DESCRIPTION
The mbrlen function inspects at most n bytes of the multibyte string starting at s and extracts the next complete multibyte character. It updates the shift state *ps. If the multibyte character is not the null wide character, it returns the number of bytes that were consumed from s. If the multibyte character is the null wide character, it resets the shift state *ps to the initial state and returns 0. If the n bytes starting at s do not contain a complete multibyte character, mbrlen returns (size_t)(-2). This can happen even if n >= MB_CUR_MAX, if the multibyte string contains redundant shift sequences. If the multibyte string starting at s contains an invalid multibyte sequence before the next complete character, mbrlen returns (size_t)(-1) and sets errno to EILSEQ. In this case, the effects on *ps are undefined. If ps is a NULL pointer, a static anonymous state only known to the mbrlen function is used instead. RETURN VALUE
The mbrlen function returns the number of bytes parsed from the multibyte sequence starting at s, if a non-null wide character was recog- nized. It returns 0, if a null wide character was recognized. It returns (size_t)(-1) and sets errno to EILSEQ, if an invalid multibyte sequence was encountered. It returns (size_t)(-2) if it couldn't parse a complete multibyte character, meaning that n should be increased. CONFORMING TO
ISO/ANSI C, UNIX98 SEE ALSO
mbrtowc(3) NOTES
The behaviour of mbrlen depends on the LC_CTYPE category of the current locale. GNU
1999-07-25 MBRLEN(3)
All times are GMT -4. The time now is 04:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy