What are some best practices for handling encoding and character issues in PHP when working with user input?

When working with user input in PHP, it's important to handle encoding and character issues to prevent security vulnerabilities and ensure data integrity. One best practice is to always sanitize and validate user input to prevent malicious code injection. Additionally, setting the correct character encoding for your PHP scripts and database connections can help avoid issues with special characters.

// Sanitize and validate user input
$userInput = $_POST['user_input'];
$cleanInput = filter_var($userInput, FILTER_SANITIZE_STRING);

// Set character encoding
header('Content-Type: text/html; charset=UTF-8');
mysqli_set_charset($connection, 'utf8');