Как конвертировать/сохранить Unicode в UTF8?

Все файлы у меня в кодировке UTF8 без BOM

Отправляю данные php скрипту из js
......
$.ajax({
url: 'actions.php?set_data_title&setting_name='+id+'&setting_value='+value
});
.....


setting_name - английское название, приходит или сохраняется нормально
setting_value - русское. Приходит или сохраняется искаженное.

actions.php
if (isset($_GET['set_data_title']))
{
//Пробовал так - безрезультатно - либо искажено либо false
//$setting_value = mb_convert_encoding($setting_value, 'utf-8', mb_detect_encoding($setting_value));
//$setting_value = html_entity_decode(preg_replace("/U\+([0-9A-F]{4})/", "&#x\\1;", $setting_value), ENT_NOQUOTES, 'UTF-8');
//$setting_value = iconv("UTF-8","UNICODE",$setting_value);

//Сохранение
$setting_array=json_decode($settings_string, true);
//Добавляем (параметр) элемент и его значение в массив настроек. Если он там уже есть - его значение будет перезаписано.
$setting_array[$setting_name]=$setting_value;
//Кодируем и обновляем запись в БД
$settings_string=json_encode($setting_array, JSON_FORCE_OBJECT);
$mysqli_request="UPDATE `data_description` SET `settings_string`='$settings_string' LIMIT 1";
$mysqli->query($mysqli_request) or die ($mysqli->error);
}

Например отправляю setting_value=тест, в базе u0442u0435u0441u0442.
Как я понял, это юникод.

Как конвертировать Unicode в UTF8 (или сохранить в этой кодировке)?
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Раз уж собираете URL вручную, то хоть следуйте стандарту. Параметры должны быть urlencoded. В js для этого есть encodeURIComponent
Ответ написан
Комментировать
logpol32
@logpol32 Автор вопроса
Всем спасибо. Извините, что немного ввел в заблуждение т.к. сам думал, что php криво принимает данные.
А оказалось json не любит киррилицу.
Помогло
$settings_string=json_encode($setting_array, JSON_UNESCAPED_UNICODE);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 20:02
100000 руб./за проект
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект