26

I am trying to set charset="utf-8" inside the javascript file itself, not in the script tag, I know that I can do this:

<script type="text/javascript" charset="UTF-8" src="xyz.js"></script>

But unfortunately, this solution needs me to do the same step with hundreds of websites which are using the same script. so I am trying to set the charset in the javascript file itself. Is this possible?

thanks

Jehad Nasser
  • 3,227
  • 5
  • 27
  • 39
  • 1
    Just use `utf-8` encoding when you create the file. Really not clear what higher level problem you are trying to solve – charlietfl Jun 17 '17 at 15:24
  • @charlietfl I'm creating the file using fwrite() in php, I tried to use UTF-8 with fwrite() but documentations on the subject not too much. Anyway, when I save js file to Amazon WS, I can see the file support Arabic very well but when websites(which using that js file) loading that js file, I can see in the chrome inspector/ resources section that the js file does not support UTF-8/arabic. – Jehad Nasser Jun 17 '17 at 16:21
  • @charlietfl I downloaded the file from AWS then re-save it as UTF-8, and re-upload it and still the same. – Jehad Nasser Jun 17 '17 at 16:23
  • 1
    If you save the JS file with UTF-8, then you *must* declare `charset="UTF-8"` in the ` – weibeld Jun 27 '17 at 08:34
  • @weibeld thank you man, yeah it is as you said, I found work around that can solve it for now. – Jehad Nasser Jul 04 '17 at 13:33

3 Answers3

32

I found another way, so instead of declaring charset="UTF-8" for the script tag like this:

<script type="text/javascript" charset="UTF-8" src="xyz.js"></script>

I can declare the charset for the web page itself using meta tag, so I can append <meta charset="UTF-8"> to the DOM dynamically, and end up with something like:

<head>
...
  <meta charset="UTF-8">
...
</head>
Jehad Nasser
  • 3,227
  • 5
  • 27
  • 39
2

I think you can't set this in the Javascript file itself. The browser need the charset to read the file. So without the charset the browser is not able to understand your file and therefore would not be able to read the charset definition

Iqon
  • 1,920
  • 12
  • 20
0

Set nginx.conf like this:

http {
    charset utf-8;

    types {
        text/javascript utf-8 js;
    }
    
    # Other configuration settings...
}

Emojis in .js files now get displayed properly. (In source view, they worked just fine before)

Howard
  • 266
  • 1
  • 3
  • 14