Javascript encoding problem

Hello experts,
I've been learning to hate Javascript. Please help me...

I am working on a page that reads a CVS file and shows it on a text area.

The file (input.csv) is enconded on ISO-8859-1 as shown in Figure 1 and Figure 2.

My page is also encoded as ISO-8859-1 and configured to use ISO-8859-1 as shown in Figure 3.

My page read the file using the following function:

function IO(U, V) {//LA MOD String Version. A tiny ajax library.  by, DanDavis
            var X = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP')
                        : new XMLHttpRequest();
   ? 'PUT' : 'GET', U, false);
            X.setRequestHeader('Content-Type', 'text/html;charset=iso-8859-1')
            X.send(V ? V : '');
            return X.responseText.toUpperCase();

Figure 4 shows how the Text Area looks like when I do:
        text = IO("input.csv");
        othersConsole.value = text;

I am using Safari.

What am I missing???


Who is Participating?
wdosanjosConnect With a Mentor Commented:
According to the documentation, the server is ultimately responsible for honoring the Content-Type set on the request header.  I think you need to check the server code/configuration.  If the server's response does not contain the Content-Type header, it seems that XMLHttpRequest assumes is UTF-8, that might be the issue here.

You can try the following to view the response headers:

            X.send(V ? V : '');
It seems to be a font family issue, where those characters are not available in the font.  Try using a different font that you know can display the characters.
chocksmith01Author Commented:
As you can see on Figure 2, the question mark funny char appears when we try to display ISO-8859-1 chars as UTF-8. It is not a matter of font family...
My guess is that for some reason the <meta> tag is being ignored (Figure 3).
7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.


Take a look at this thread :

Basically the solution was to add this as the first line :
Response.AddHeader "Content-type", "text/html; charset=iso-8859-1"

chocksmith01Author Commented:
Didn't I do that???
My function has: X.setRequestHeader('Content-Type', 'text/html;charset=iso-8859-1')
"iso-8859-1" defines the character encoding not the font.  The font would be 'Arial', 'Times New Roman', 'Verdana', etc.  There are different ways to define the font. It could be on your style sheet or on the tag itself, something like style="font-family:Arial".
chocksmith01Author Commented:
That's what I'be been trying to say.
It was nothing to do with Fonts. I do not understand why it ignores my commands and tags to use iso-8859-1 and keep using utf-8
chocksmith01Author Commented:
It did not solved the issue, but gave me good ideas to overcome the problem doing things in a different way.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.