2012-06-04 24 views
7

मेरे पास checked है π एक जावास्क्रिप्ट चर नाम के लिए मान्य है। साथ ही, जब मैं क्रोम कंसोल में var π = Math.PI लिखने का प्रयास करता हूं, तो सब ठीक है।परिवर्तनीय नाम और वर्ण एन्कोडिंग

हालांकि, जब मैं एक .js फ़ाइल पर एक मैक उदात्त पाठ 2 के साथ लिखा अंदर लाइन var π = Math.PI शामिल, क्रोम शिकायत:

Uncaught SyntaxError: Unexpected token ILLEGAL 

मैं एन्कोडिंग UTF-8, UTF-16 और UTF ले की कोशिश की है -16 बीई, लेकिन कोई काम नहीं।

Ï€ 

मैं कैसे, उदात्त पाठ 2 में जावास्क्रिप्ट चर नाम π उपयोग कर सकते हैं ताकि क्रोम यह समझता है: जब मैं लाइन console.log('π'), UTF-8, क्रोम प्रिंट के साथ उदात्त पाठ 2 के भीतर लिखे गए निष्पादित?

+3

बिल्ली क्यों आप उपयोग करना चाहते हैं परिवर्तनीय नामों के लिए गैर-ascii अक्षर?!? – ThiefMaster

+1

क्योंकि मुझे 'math.PI' के लिए शॉर्टकट 'π' पसंद है। – Randomblue

+8

आपके कोड के साथ काम करने वाला कोई भी व्यक्ति ** इसके लिए आपको ** हेट ** करेगा। कोई भी आसानी से 'π' टाइप नहीं कर सकता है। – ThiefMaster

उत्तर

6

चेक आप अपने html के शीर्ष में एक <meta charset="utf-8"> सेट कर रहे हैं या यदि चारसेट अलग है आप अपनी स्क्रिप्ट टैग पर वर्णसेट विशेषता सेट कर सकते हैं सुनिश्चित करने के लिए:

<script src="script.js" charset="utf-8"> 
+0

हां, यह तय है! डिफ़ॉल्ट एन्कोडिंग क्या है? – Randomblue

+0

मेरा मानना ​​है कि डिफ़ॉल्ट एन्कोडिंग पूरी तरह से आपकी वेब सर्वर सेटिंग्स पर निर्भर है। –

+1

सर्वर आमतौर पर .js फ़ाइलों के लिए कोई वर्ण एन्कोडिंग जानकारी नहीं भेजते हैं। इसका अर्थ यह है कि ब्राउज़र 'स्क्रिप्ट' टैग के 'वर्णसेट' पैरामीटर में निर्दिष्ट एन्कोडिंग का उपयोग करेंगे या, यदि उसके पास पैरामीटर नहीं है, तो HTML दस्तावेज़ का वर्ण एन्कोडिंग, जो बदले में इसके HTTP शीर्षकों द्वारा निर्धारित किया जाता है, लागू होता है उस क्रम में 'मेटा' टैग, या ब्राउज़र अनुमान,। –

संबंधित मुद्दे