How can PHP handle special characters like umlauts in form input and database storage?

Special characters like umlauts can be properly handled in PHP by ensuring that the character encoding is set correctly in both the HTML form and the database connection. The recommended encoding to use is UTF-8, which supports a wide range of special characters. By setting the character encoding to UTF-8, PHP can correctly process and store special characters like umlauts in form input and database storage.

// Set UTF-8 encoding for HTML form
<meta charset="UTF-8">

// Set UTF-8 encoding for database connection
$mysqli->set_charset("utf8");

// Sample code to handle form input with special characters
$input = $_POST['input_field'];
$input = htmlentities($input, ENT_QUOTES, 'UTF-8');

// Sample code to store data in database with special characters
$stmt = $mysqli->prepare("INSERT INTO table_name (column_name) VALUES (?)");
$stmt->bind_param("s", $input);
$stmt->execute();