Как правильно вывести значения формы ввода html в php?

Учитывая следующие два фрагмента html / php:

<input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" />

а также

<textarea name="content"><?php echo $_POST['content']; ?></textarea>

какую кодировку символов мне нужно использовать для эхо-переменных $_POST ? Могу ли я использовать любые встроенные функции PHP? Предположим, что значения $_POST еще не были закодированы. Никакая магия не цитирует ничего.

Используйте htmlspecialchars($_POST['firstname']) и htmlspecialchars($_POST['content']) .

Всегда htmlspecialchars() строк с помощью htmlspecialchars() прежде чем показывать их пользователю.

Однако htmlspecialchars () не поможет вам с value='single quotes'

Вот что происходит:

value='We're not using this in our &quot;code&quot;...'

Все, что вы видите, это We

htmlspecialchars будет работать в обоих случаях. Посмотрите на различные параметры флага, чтобы избежать кавычек, являющихся проблемой во input случае.