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

Кодировка - все символы изменяются на вопросы

07.05.2014, 17:01. Показов 1993. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Страница в UTF-8. Русские буквы нормально отображается. Строка на русском отображается нормально, но при обработки строки посимвольно, все символы изменяются на вопросы. Какую кодировку использовать, чтобы русские символы нормально отображаться и можно было нормально строки с русскими символами обработать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2014, 17:01
Ответы с готовыми решениями:

Кодировка в Dreamweaver, или вопросы новчика
Приветствую всех! Возникла такая проблема при попытке редактирования джумловских шаблонов http://pikucha.ru/287865 как исправить, что...

Зашифровать все трехбуквенные слова, заменив все символы на символы с кодом, большим на три единицы
Помогите доделать задачу, чтобы она работала для условия... Зашифровать все трехбуквенные слова, заменив все символы на символы с кодом, ...

Зашифровать все трехбуквенные слова, заменив все символы на символы с кодом, большим на три единицы. Вывести новую строку.
Помогите решить задачу. Заранее спасибо. Зашифровать все трехбуквенные слова, заменив все символы на символы с кодом, большим на три...

16
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
07.05.2014, 17:31
Как обрабатываете строку? Возможно, стоит использовать mb_ функции или расширение mbstring?
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
07.05.2014, 17:42
Цитата Сообщение от Reposlav Посмотреть сообщение
mb_ функции или расширение mbstring
не "или" а "и"
0
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
07.05.2014, 17:47
ads, ну да) Просто я имел в виду перегрузку функций)
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 17:49  [ТС]
Reposlav, Нет, это не использую. Я вывожу каждый символ строки через цикл. Я вот поменял кодировку несколько раз и остановился на UTF-8 without BOM. Сейчас все на русском, но русские слова из базы иероглифими стали отбражаться
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.05.2014, 17:49

Не по теме:

Цитата Сообщение от ads Посмотреть сообщение
не "или" а "и"
гг.. И даже не "и" - "mb_ функции расширения mbstring"


Цитата Сообщение от Daxwel Посмотреть сообщение
все символы изменяются на вопросы
а какого вида вопросы? Внутри черного ромба?
Вообще, было бы неплохо увидеть пример "кривого" текста и код вывода из БД
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 17:50  [ТС]
KOPOJI, да вопрос в ромбе.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.05.2014, 17:59
значит данные находятся в UTF-8, а выводятся в ISO 8859-5. Код вывода показывать будете? В частности, интересует код установления соединения с БД (только не забудьте "спрятать"/почикать логин/пароль и т.п.)

Добавлено через 1 минуту
Да, и еще. Если есть phpmyadmin или нечто наподобие - зайдите через него и посмотрите, как отображаются данные..
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 18:20  [ТС]
Через phpmyadmin все нормально показываться. Понял кодировку базы на UTF-8, все равно русский нормально не отображается. Поменял кодировку страницы на UTF-8, так база нормально отображается и страница на русском, но строка снова отображается нормально, но если выводить посимвольно, то выводиться ромбы с вопросами.
PHP
1
2
3
4
dbhost="localhost";               //魿 ��池
$username="root";  //魿 ௫��᳥쿠⡧��dbpass="";      // ࡰלּ ⡧��dbname="student"; //� 鲲︭髠 塭 ��鲠졡ᨻ 塭
$operation=$_POST['operation'];
$link=mysql_connect($dbhost,$username,$dbpass);
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 19:56  [ТС]
Вот, что у меня выводит. "Изменить" это слово строке, 8 это длинна строки. После этого выводить каждый символ слова. Вот код вывода.
PHP
1
2
3
4
5
6
$nom=iconv_strlen($operation , 'UTF-8');
echo("<br> operation =  $operation  Номер = $nom<br>");
for ($l=1; $l<$nom; $l++)
{
echo("<br> operation =  $operation[$3]<br>");
}
Миниатюры
Кодировка - все символы изменяются на вопросы  
0
48 / 48 / 26
Регистрация: 31.05.2011
Сообщений: 139
07.05.2014, 20:00
Цитата Сообщение от Daxwel Посмотреть сообщение
Я вывожу каждый символ строки через цикл.
Покажите код именно этого момента
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 20:02  [ТС]
Reposlav, Цикл и скрин в конце первой страницы. Там опечатка.
PHP
1
2
3
4
5
$nom=iconv_strlen($operation , 'UTF-8');
echo("<br> operation =  $operation  Номер = $nom<br>");
for ($l=1; $l<$nom; $l++)
{
echo("<br> operation =  $operation[$l]<br>");
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.05.2014, 22:25
а не проще так, к примеру?
PHP
1
2
echo '<br> operation = ', $operation, ' Номер = ', mb_strlen($operation, 'UTF-8'), '<br>';
echo preg_replace('~.~u', '<br>operation = $0<br>', $operation);
0
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 22:41  [ТС]
KOPOJI, Попробую. Я уже понял, почему не выводился один символ. Там число символов в 2 раза больше в строке. Получается строка состоит ?и?з?м?е?н?и?т?ь . И чтобы отображался символ нужно загнать '?' и букву в строку, тогда только буква одна отобразиться.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.05.2014, 22:48
просто utf-8 - многобайтовая кодировка. Кириллица занимает по два байта, некоторые символы занимают три байта.. PHP изначально создавался под однобайтовые кодировки, соответственно, он воспринимает каждый байт за отдельный символ.. Вот и получается такая ересь.. Поэтому и говорили про расширение mbstring.
1
5 / 5 / 2
Регистрация: 20.01.2013
Сообщений: 66
07.05.2014, 22:53  [ТС]
Спасибо. Теперь понятно. С английскими словами все работало. Не обратил что-то на это внимания.
0
07.05.2014, 22:54

Не по теме:

Daxwel, латиница везде (вроде везде) занимает один байт..

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2014, 22:54
Помогаю со студенческими работами здесь

Почему изменяются все данные в БД?
Почему изменяются все данные в бд con = new OleDbConnection(); con.ConnectionString = @&quot;Provider=Microsoft.Jet.OLEDB.4.0;...

Преобразовать строку, удалив все символы 'a' и продублировав все символы отличные от 'a'
Дана строка A. Нужно преобразовать её, удалив все символы 'a' и продублировав все символы отличные от 'a'. К.П.: Ввод qawaeara | Вывод:...

Все элементы коллекции изменяются на свежедобавленный
В коллекцию складываются люди (имя и фамилия). При выполнении команды add(человек) он добавляется, но все, кто там уже был, изменяются на...

При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются
При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются

Дан текст. Получить множества - Первое включает все символы, содержащиеся в тексте, второе - все символы, которых в тексте нет.
Дан текст. Получить два множества - Первое включает все символы, содержащиеся в тексте, второе - все символы, которых в тексте нет.


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru