3

I am developing a simple webpage at hostgator.com. I have the standard headers, but when I add the following line:

<?xml version="1.0" encoding="utf-8"?> 

the page does not work. I would like why.

This is the full header:

<?xml version="1.0" encoding="utf-8"?>
<!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" lang="es" xml:lang="es"> 
... rest of code ...

The server returns me a blank page


Issue solved: The PHP short tags was open.

0

2 Answers 2

8

My best guess is that:

… so the server is trying to process the XML declaration as PHP code. Normally I'd expect an error message, but perhaps there is a PHP setting in play that suppresses errors to the client to avoid leaking data that could be potentially useful to someone trying a security exploit.

Just remove it.

  • UTF-8 is the default
  • version 1.0 is the default
  • It is optional in the spec
  • Given a text/html content-type, an XML prolog will trigger IE6's quirks mode

The latter is undesirable. The former all mean it makes no difference.

Sign up to request clarification or add additional context in comments.

Comments

-1
<?php
echo '<?xml version="1.0" encoding="utf-8"?>';
?>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.