Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.09.2018
Сообщений: 13

Проблема с кодировкой в массивах

06.07.2019, 13:37. Показов 3263. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем здравия! Рядовой php-шник, посему нуждаюсь в помощи. Такое дело, при попытке занести кириллицу в массив выводятся крякозябры. Предпринял всевозможные "трюки" принудительного UTF-8, но мне кажется дело не в этом, а в том что я чего-то не учитываю или упускаю, по крайней мере в инете похожие проблемы я не нашел.

Собсна вот скрипт. Вкратце, скрипт принимает пост запрос с текстом, потом текст разбивается на буквы и они заносятся в массив как отдельные элементы. В конце выводится содержимое массива в каком оно состоянии. А в ответе конечно крякозябры.

PHP
1
2
3
4
5
6
7
8
9
<?php 
$arr = [];
if(isset($_POST['submit'])){    
    $text = htmlspecialchars($_POST['text']);
    
    $arr = str_split($text);
    print_r($arr);
    }
?>
HTML5
1
2
3
4
5
6
7
8
9
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form method="post" name="form" action="<?=$_SERVER['PHP_SELF']?>">
<input type="text" name="text" />
</br>
<input type="submit" name="submit" />

Предпринял всевозможные варианты, вплоть до смены на все версии пхп, апач, nginx, запускал через рабочий веб сервер, но в итоге ничего не нашел и не понял. Прошу подсобите с решением, буду признателен
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.07.2019, 13:37
Ответы с готовыми решениями:

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из другой mysql.... МММ сайт на win 1251 а...

Проблема с кодировкой
Проблема с кодировкой отображаемой информации в программе при запуске её на другом пк. Например текст сообщений(showmessage который)...

Проблема с кодировкой
Привет всем!Я еще только изучаю HTML и пробую на примерах.Открываю блокнот,печатаю набор слов с кодами HTML.Сохранить набранный файл...

5
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
06.07.2019, 13:56
k1llreal, если "кракозябры" при выводе в сам документ из формы, то попробуйте в Notepad++ Кодировки -> Преобразовать в UTF-8 без BOM
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.07.2019, 14:13
Цитата Сообщение от k1llreal Посмотреть сообщение
$arr = str_split($text)
$text в кодировке utf-8? В таком случае "разорвет" все символы, которые кодируются больше чем 1 байтом.
0
0 / 0 / 0
Регистрация: 01.09.2018
Сообщений: 13
06.07.2019, 14:22  [ТС]
Jewbacabra, можете здесь по подробнее? это как понимаю и является причиной крякозябр, верно? если да подсобите как избежать этого, пожалуйста
p.s. htaccess, документ, настройки бровзера и всё что только возможно на UTF-8

Добавлено через 2 минуты
Пифагор, при простом выводе типа

PHP
1
echo $text;
кодировка работает, проблема когда разбивается на отдельные элементы массива
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.07.2019, 14:27
Лучший ответ Сообщение было отмечено k1llreal как решение

Решение

Цитата Сообщение от k1llreal Посмотреть сообщение
можете здесь по подробнее?
Есть символ "Б" - в utf-8 он кодируется 2 байтами
PHP
1
echo strlen("Б");
Так как в php строка это массив байт, а не символов, то такой символ после str_split разделится на отдельные байты, которые сами по себе смысла не имеют
PHP
1
echo count(str_split("Б"));
Обойти можно так
PHP
1
var_dump(preg_split('//u', "Б", -1, PREG_SPLIT_NO_EMPTY));
https://www.php.net/manual/ru/... -split.php
1
0 / 0 / 0
Регистрация: 01.09.2018
Сообщений: 13
06.07.2019, 14:40  [ТС]
Jewbacabra, это и нужно было мне, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2019, 14:40
Помогаю со студенческими работами здесь

Проблема с кодировкой.
Сайт на UTF-8 (движок Wordpress). Стоит код Директа. В опере и в лисе отображается нормально, а в ИЕ - текст объявлений нечитаем. Можно...

Проблема с кодировкой
Всем привет. Не могу понять из-за чего происходит неправильное отображение символов. (точнее догадываюсь что что-то с кодировкой, но где ее...

Проблема с кодировкой
Добрый день!! Есть такой код. # -*- coding: utf-8 -*- import json data = '''''' datas = json.loads(data)

Проблема с кодировкой
Всем привет, делаю приложение с выводом данных по запросу. При попытке вывода выводит ответ в json формате. Вот участок кода: if...

Проблема с кодировкой
Столкнулся с проблемой, перепробовал наверное уже всё что можно, и на этом форуме искал решение и просто в гугле, ничего не помогло. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru