[NTG-context] Problem with \doifelse testing of UTF-8 chars

Jaroslav Hajtmar hajtmar at gyza.cz
Thu Apr 22 20:57:03 CEST 2010

I have problem with testing of strings through \doifelse.

I am loading data from external CSV file. CSV file is UTF-8 encoding.
Data from external file I am reading to ConTeXt macro and I want compare 
content of macro (it is one utf-8 character) and other character as per 

(\onecharfromcsvfile contains one character from external CSV file)

% I compare e.g. "m" character and content of macro  \onecharfromcsvfile
\def\result{\doifelse{m}{\onecharfromcsvfile}{true}{false} }

\result is however always false

When CSV file is CP-1250 encoding then macro does work right as well as 
classical TeX macro:

\def\result{\if m\onecharfromcsvfile true\else false \fi}

My question is:
Just how modify macro as to work right when CSV file is UTF-8 encoding.

Thanx Jaroslav

PS: I was working up until now only with CP-1250 encoding, but when I 
started with LuaTeX (MKIV), then I have to use UTF-8. (MKIV dont work 
corectly with external CP-1250 files).

More information about the ntg-context mailing list