ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm trying to make a script to find the login of a user given his full name . It works for names without accents , but for accents it fails (as all user names in the network have no accents).
So I tried this function to remove accents:
but it doesnt work. I tried to use s/"\x82"/a/ for example (dont know if 82 is the hex value of any accented "a" character ...) and it didnt work also... I preffer to use octal or hex values , because typing the accented char is problematic (the locale on each system can affect this..)..
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789
Rep:
Your function works for me with the plain accented characters, no need to back-slashing them though (but it doesn't hurt either).
Perhaps is it the way the characters are coded in your script that differs from the way the characters are sent to the function.
Did you tried to test your function from inside ?
e.g.
print Transform("hello world éè\n");
I'm using emacs. if I do:
./findlogin.pl findlogin.pl
it replaces the accents on the source of the program...
I guess I'm gonna do some tests on the input file...
edit:
weird.. I've created the input file again and now it works..
Originally posted by jlliagre Did you kept the old file ?
If true, you can do an "od -c" on both and see if the character coding differs.
I thought I would die without finding out what happened , so I simply deleted the file and created it again... well, at least now I know a new command..
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.