В БД хранится в таком виде - Ñåòåâîé ïîäêëþ÷àåìûé ìîäóëü Citrix повлиять на правильную запись в БД нет возможности. Уже несколько дней бьемся чтобы перевести в UTF-8. Нифига не выходит. Онлайн конвертеры переводят на ура, но все по разному (и из ISO-8859-1 в CP1251 и ISO15... и CP1252 ....... не поймешь). Перепробовали все варианты кодировок вручную и нифига. И кодировку проекта меняли и на ISO, и на UTF, и на CP1251 и нифига. Наиболее похожая на правду это CP866. Но это не читабельно. Маленький пример из того, что только не пробовали: PHP: $str = 'Ñåòåâîé ïîäêëþ÷àåìûé ìîäóëü Citrix'; echo mb_http_output().'<br/>'; var_dump(iconv_get_encoding('all')); mb_http_output("cp1251"); echo '<br/>'.mb_http_output().'<br/>'; var_dump(iconv_get_encoding('all')); echo $str.'<br/>'; $interenc = mb_internal_encoding(); $interenc = mb_convert_variables($interenc, "cp1252,UTF-8,iso-8859-15", $str); echo $str.'<br/>'; echo $interenc; Пробовали iconv таже фигня. Есть АС с большой буквы у которого получится? или куда еще смотреть? ну просто уже п....ц какой то.... По логике даже если не замахиваться на utf-8 (а надо в ней). В master.blade.php - charset cp1251, в layout аналогично, допустим я доверяю декодеру и из ISO 8859-1 перевожу в Windows 1251 я должен с..... увидеть Сетевой подключаемый модуль Citrix но нет... Помогите кто может!!!
так не будет работать только что попробовал. Считается, что строка в кодировке файла. Детектит строку как UTF-8 (ибо файл в этой кодировке)
Вот волшебная функция которая кушает твои кракозябры и возвращает обработанный текст в UTF-8 PHP: function decoderApiCall($str){ $curl = curl_init('http://api.foxtools.ru/v2/TextDecoder'); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, ['text' => $str]); $response = curl_exec($curl); curl_close($curl); $response = json_decode($response, true); return $response['response']['items'][10]['value']; } файл естессно должен быть в этой же кодировке с API особо не возился, но ты можешь повозиться скажется на времени загрузки страницы, если юзать на лету
Я вот думаю о чем строка в таком формате приходит в проект utf-8 и становится utf-8, я в саблайме сделал кодировку 1252 листа вставил текст в таком виде Ñåòåâîé ïîäêëþ÷àåìûé ìîäóëü Citrix и конвертировал в 1251 он стал корректным. Тут есть 2 варианта наверное: 1 вариант это перевести проект на 1251 и второй вариант сделать скриптовую страницу в 1252 получать туда запросом данные и конвертить их в 1251 и возвращать в проект. Как вы думаете?
Самый простой вариант,если в бд лежит в cp1251, перевестипроект в 1251 и кодировку соединения с бд установить в 1251. И всё должно работать. Если к бд доступа не дают, то оптимальнее некуда.
@TeslaFeo там 1251 но хранятся данные уже в таком виде с кракозябрами (так system center пишет в бд русские буквы) т.е. перевод проекта отображает мне те же кракозябры может я чего то не понимаю но сам факт что запрос в студии выводит те же кракозябры и попытка запросом изменить ячейку тоже дает кракозябры но если я туда пишу русские символы то они корректно отображаются проблема в том что изначально туда пишется не в той кодировке и из-за этого я не могу выдернуть корректно. Т.е. по идее должен сработать проект в кодировке 1252, получится что я получу данные с тек кодировкой в 1252 в виде Ñåòåâîé ïîäêëþ÷àåìûé ìîäóëü Citrix' и если конвертирую их в 1251 тогда увижу русский текст но это теория и так себе решение настроить SC чтобы он изначально писал в БД правильно нет возможности, перевести БД в другую кодировку тоже нет возможности вот что дает запрос --- Добавлено --- я никогда не думал что придется иметь дело с таким ....
я не когда не думал что стану программистом... как же я это кодировкай заеб**ся https://php.ru/forum/threads/kodirovka-proetka.71564/
установи везде одинаковую кодировку на ВСЁМ ПУТИ и будет всё писаться храниться и читаться правильно ВСЁ --- Добавлено --- еслои тебе доступ к БД не дают, то пусть сами чинят)
РЕШЕНО. Вот тут изложена суть решения проблемы если есть права на БД http://www.sql.ru/forum/1145211-2/problema-s-kodirovkoy-russkih-bukv-posle-perenosa-bazy , а если прав на бд нет, то такой код в помощь PHP: $text_display_name = $item->DisplayName; $text_display_name = iconv('utf-8//IGNORE', 'cp1252//IGNORE', $text_display_name); $text_display_name = iconv('cp1251//IGNORE', 'utf-8//IGNORE', $text_display_name); $item->DisplayName = $text_display_name; P.S. для работы с кракозябрами в конкретном случае, при таком подходе русские буквы в исходящей кодировке будут преобразованы в пустоту