Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
SherlokHolms
0 / 0 / 3
Регистрация: 25.05.2013
Сообщений: 24
#1

Кодировка при выводе на страницу из MSSQL Server - PHP

06.06.2018, 12:48. Просмотров 116. Ответов 0

Добрый день, делаю приложение-справочник по работе с таблицой из бд. Так уж сложилось, что бд необходимо использовать MSSQL. Я начинающий, гуглил усердно. Пока со знаниями серверной части беда, но я учусь.

Испытываю сложности с записью и вводом кириллицы на веб страницу. (с английскими символами проблем нет вобще, делаю запросы на вставку без преобразований в разные кодировки)

Параметры сортировки для таблицы с которой работаю по умолчанию Cyrillic_General
В метатеге страницы установлена кодировка
HTML5
1
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
По вопросу записи, вроде бы частично решил, но не уверен что правильно, отдаю форму в ajax и в php обработчике делаю так:

PHP
1
2
3
4
5
 //конвертируют через iconv из utf-8 в cp1251 и отдаю в запрос на вставку.
$f = iconv('UTF-8','cp1251',$_GET['project_manager']);
sqlsrv_query($conn,'windows-1251');
$sql = "UPDATE project_registry SET  project_manager = '$f'  WHERE id = '$id'"
$success = sqlsrv_query($conn, $sql)
В этом случае данные вставляются корректно, к бд я вижу верно записанные данные русскими символами.

Если не делать преобразование на строке
PHP
1
$f = iconv('UTF-8','cp1251',$_GET['project_manager']);
, то вставляются знаки "????". С этим разобрался.

Основная проблема с обратной процедурой. При выводе значения на веб, когда в обработчике получаю строку из бд
PHP
1
$f = iconv('cp1251','UTF-8',$arr['project_manager']);
, то выводятся иероглифы - Р¤РРћР¤РРћ.
Почитал мануал, попробовал так:
PHP
1
$convertedText = mb_convert_encoding($arr['project_manager'], 'utf-8', 'windows-1251');
Но это тоже не помогает.
Попробовал даже так:
PHP
1
$convertedText = mb_convert_encoding($arr['project_manager'], 'utf-8', mb_detect_encoding($arr['project_manager']));
, в таком случае вообще ничего не выводит =\

Интересно что,если я поменяю кодировку самой страницы
HTML5
1
<meta http-equiv="Content-Type" content="text/html; charset=cp1251">
, то табличные данные из базы выводятся корректно. Но это не решение, так как при этом все кнопки и прочий контент html превращается в кракозябры.

Подскажите, что я делаю не так? Если не трудно то с небольшими примерами.

Добавлено через 1 час 15 минут
Спасибо за предложенные темы, по некоторым из я уже пытался решить проблему, но это ни как не может мне помочь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2018, 12:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Кодировка при выводе на страницу из MSSQL Server (PHP):

Неверная кодировка текста при выводе из файла на страницу
Здравствуйте.Столкнулся с проблемой кодировки текста загруженного из текстового...

Неправильная кодировка при работе с MSSQL
Доброго времени суток. Надеюсь на Вашу помощь. Проблема следующая: операционная...

Кодировка при выводе текстового файла
У меня есть файл в формате .txt. Код: $f = fopen(&quot;file.txt&quot;, &quot;r&quot;); //...

Кодировка при выводе из БД
Ребят, вот у меня все хорошо выводится из БД. НО вот загвоздка: Как устанвоить...

Кодировка при выводе из бд
В общем возникла проблема кодировки при выводе из БД. Все файлы в utf-8, бд...

Кодировка при выводе из БД
Доброго времени суток! Суть проблемы: пока вся информация находилась...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2018, 12:48
Привет! Вот еще темы с решениями:

Кодировка при выводе данных
Доброго всем дня. Столкнулась с проблемами с кодировкой при вводе данных на...

Кодировка при выводе данных из базы
Помогите пожалуйста решить проблему!!! У меня есть база данных, которую мне...

Кодировка символов при выводе строки
Всем привет, столкнулся с проблемой (в базе кодировка utf8), считываю строку...

Подключение к mssql server 2005
использую php 2.2.6 пытаюсь подключиться к БД(mssql) через функцию...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru