Есть ли функция PHP, чтобы исправить это?

«Поймите меня, я надеюсь, что это не странно или что-то еще»,

Как я могу исправить кодировку на этом?

То, что вы запускаете, является результатом того, что данные записываются в одной кодировке и интерпретируются как другие. Вам нужно убедиться, что вы запрашиваете ввод в том же формате, в котором вы его ожидаете. Я рекомендую просто придерживаться UTF-8 весь путь, если вам не нужно избегать многобайтовых символов, и в этом случае вы можете посмотреть на форсирование ASCII.

Убедитесь, что вы говорите, что PHP использует UTF-8 внутренне:

ini_set('default_charset', 'UTF-8'); 

И убедитесь, что вы сообщаете браузеру, что он ожидает кодированный текст UTF-8, как в заголовках …

 header("Content-Type:text/html; charset=UTF-8"); 

… и в ваших метатегах (html5 ниже) …

 <meta charset="utf-8"> 

Установка этого параметра сообщит браузеру, что он отправит вам кодированный контент UTF-8, когда будет отправлена ​​форма, и будет интерпретировать результаты, которые вы отправляете обратно как UTF-8.

Вы также должны убедиться, что и ваше хранилище базы данных, и кодирование соединения находятся в UTF-8. Обычно до тех пор, пока это просто немой магазин данных (т. Е. Он не будет обрабатывать или интерпретировать данные каким-либо образом), это не имеет значения, но лучше иметь все в порядке, чем столкнуться с проблемами с ним позже.

Функция iconv как правило, может справиться с такой проблемой кодирования.

См. Эту тему: PHP: регулярное выражение для удаления `â` или` â € `?

Каковы ваши настройки php?

Вы можете настроить php для кодирования строк, в большинстве случаев рекомендуется использовать utf8, а также вы должны иметь тег Content-Type на вашей странице html

Кроме того, если я могу добавить помимо указанных выше пунктов, если вы сохраняете данные в таблицах базы данных, таблицы и столбцы (и, возможно, сама база данных) должны иметь utf8_general_ci, чтобы он мог обрабатывать многобайтовые символы.

Я также выдаю эти имена запросов «utf8» перед запуском любого запроса.

Похоже, правильное решение – mb_convert_encoding ()

string mb_convert_encoding (строка $ str, строка $ to_encoding [, mixed $ from_encoding])

Преобразует кодировку символов строки str в to_encoding из опции from_encoding.