I have a straight HTML page that I want to use for diagnostic checks so I would like to reload it each time it is referenced and load the string of characters. Forcing reload is relatively easy, but I have not been able to prevent gzip encoding.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Content-Encoding" CONTENT="text/html text/plain *;q=0">
I would strongly prefer to do this with HTML and not put in a server-side workaround.
Thanks.
PS: If the NO-CACHE does not work, you can easily force a reload by appending something to the URL. I use
var time=new Date().getTime();
URL=URL+"?time="+time;
Gzip encoding is handled by the server. It cannot be prevented by changing the document.
Related
I have a simple html page which starts like this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Cache-Control" content="public, must-revalidate">
<meta http-equiv="Cache-Control" content="max-age=88000" />
<script type="text/javascript" src="/js/index.js"></script>
....
However, when I check index.js file in FF web console, I see Cache-Control: "max-age=0". Why is that and how can I fix it? Thanks!
There is no reason to expect a meta tag in an HTML file to affect the HTTP headers sent for a JavaScript file that it refers to (or even the HTTP headers sent for the HTML file itself, for that matter).
The HTTP headers are set by the web server (or, more generally, HTTP server) software in use, possibly as affected by system-wide or directory-wide settings on the server. Long ago, the idea was that certain meta tags might affect the HTTP headers for the HTML document itself, but this was generally not implemented in servers. Instead, browsers may use some meta tags and act as if corresponding HTTP headers had been sent, but a) this only applies to the HTML document itself, if at all and b) it cannot be seen by tools that inspect the HTTP headers actually sent.
I have created web page using Chinese. When I view the page with Google chrome, all Chinese characters are corrupted. Do I have to add something in HTML page?
There are two ways to define the encoding of your page. You should include inside your <head> tags an encoding tag, two ways to do that follow below:
Short way:
<meta charset="utf-8">
Long way:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
You can have more details about the difference between these two ways in this question:
<meta charset="utf-8"> vs <meta http-equiv="Content-Type">
If you want to see a real example, take a look in the weibo.com source code at this line of code.
Make sure to use UTF-8 or a comparable encoding.
This can be made sure in the http headers:
Content-Type: text/html; charset=utf-8
use utf-8 character set otherwise it will all be code
remember <meta charset="utf-8"
Ensure you are using the UTF-8 character set
In my html document, I have my html as:
<html>
<head><title>title</title></head>
<body> <div>विजय कदम</div> </body>
</html>
I am getting output as:
विजय कदम
Any idea? what do I need to specify?
Save your file in UTF-8 encoding
Add meta tag to the html to support UTF-8
Make sure your server supports UTF-8 encoding, an example for Apache.
How to change the page encoding to UTF-8:
Add the following tag to the HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Or the HTML5 equivalent:
<meta charset="utf-8" />
for more information about characters encoding check this out.
You need an editor that saves in Unicode UTF-8.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
you can also use a converter to display hindi. link: http://vikku.info/indian-language-unicode-converter/hindi-unicode-converter.html what you do is, you paste html text. Hope this helps!
I have a french website, the below is my header.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
I am trying to put these charactors ù,é it turns in to �
Please tell me why?
Thank you.
I am trying to put these charactors ù,é it turns in to �
That is a pretty certain indicator that the text you output is not UTF-8 encoded as you say in the header. My guess would be it's ISO-8859-1 encoded.
This can be because
The HTML file you are editing isn't UTF-8 encoded. Save it as UTF-8 - the option for that is often in the "Save As..." dialog of your editor or IDE.
The database connection you are getting the text from isn't UTF-8 encoded.
You need to save the html file as UTF-8 format. Also you can add an attribute lang="fr" to your html tag.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
You can use the following code in head section
<meta http-equiv="encoding" content="text/html" />
I think it will works for you.
Lets say I have the following file in called index in the directory D:\Experimental:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title>Minimal XHTML 1.1 Document</title>
</head>
<body>
<p>This is a minimal XHTML 1.1 document.</p>
</body>
</html>
If I open the link
file:///D:/experimental/index.html
I get to see the html, but it seems that the character encoding defaults to Western (ISO-8859-1), I can see this when I click view -> character encoding in firefox.
I want to display this in UTF-8 because Western (ISO-8859-1) doesn't display some characters correctly. Does anyone know how to fix this?
You should include:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
in your HEAD element.
Edit
I've just tried your example in Firefox on the Mac, and even without the meta tag, it correctly interprets the document as UTF-8. The Standard seems to indicate that it should use the XML processing instruction, but that you should also use the correct HTTP headers. Since you're not sending headers (because you're not using HTTP) you can specify them with the meta tag.
Maybe try adding
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
in <head> section?
When loading files from disk, your browser does not have an HTTP Content-Type header to read the encoding from, so it guesses. To guess the document encoding it uses your operative systems current encoding, the actual bytes that are in the files and information inside the file itself.
As Jonathan wrote, you can add a
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
element that will help the browser using the correct content type. Anyway, note that that element will often be ignored by browsers if your document is sent from a misconfigured HTTP server that explicitly specifies another encoding the Content-Type header.