international character string works as string argument but not in parser

John W. Eaton jwe at bevo.che.wisc.edu
Tue Nov 11 09:44:03 CST 2008


On 11-Nov-2008, Willem J. Atsma wrote:

| Hi all,
| 
| This may be specific to the installation I have: windows XP, version 3.0.1 (fr octave-forge)
| 
| I get the following error:
| 
| 
| --------------------------------------------------------------------------
| octave:40>data_index.Québec
| error: invalid character `é' (ASCII 233) near line 40, column 26
| parse error:
| 
| >>> data_index.Québec
|                  ^
| --------------------------------------------------------------------------
| 
| When I use the field name like a list index it works:
| 
| --------------------------------------------------------------------------
| octave:41>data_index.('Québec')

That doesn't work for me.  I see

  octave:1> data_index.('Qu?bec') = 1
  error: invalid structure field name `Qu?bec'

After doing something like

  data_index.('Québec') = 1;

what does

  data_index

or

  fieldnames (data_index)

show you?  Is the é in the field name preserved?

| Assuming that the string is handled elsewhere in the code depending
| on how it is passed, I guess the parser does not support characters
| outside the 0-127 range?

Yes, Octave is not yet 8-bit clean.  It will take a lot of work to
make it 8-bit clean, so I consider this a "probably won't fix for quite
some time" bug.

jwe



More information about the Bug-octave mailing list