Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Проблема после переноса на хостинг с MySQL в UNICODE

00 голосов
3
Служебные письма теперь приходят в таком виде:

======================================
Информационное сообщение сайта FirmSecurity - магазин систем безопасности
------------------------------------------
??????? ???????,

??? ?????? ??????? ???????.


Ваша регистрационная информация:

ID пользователя: 1
Статус бюджета: ???????
Login: admin
======================================

Подскажите, пожалуйста, кто сталкивался с подобным, как починить?
спросил 02 Март, 14 от Beer (200 баллов)

3 Ответы

00 голосов
в файле /bitrix/php_interface/after_connect.php добавьте строку: $DB->Query("SET CHARSET utf8");

Если результат будет таким же или хуже, то попробуйте $DB->Query("SET CHARSET cp1251");

скорее всего там такая кодировка стоит.
ответил 09 Авг, 14 от bazzet (620 баллов)
00 голосов
Там сейчас две строчки:

$DB->Query("SET NAMES 'cp1251'");
$DB->Query("SET CHARACTER SET 'cp1251'");

Когда поменял на utf8, кодировка на сайте сбилась. Проблема не в кодировке текстов на сайте, а в отдельных местах. например, "руб." выводится какими-то кракозябрами, в автоматических письмах вместо имени пользователя знаки вопроса.
ответил 13 Дек, 14 от Beer (200 баллов)
00 голосов
Как понял, при правке криво работало. Добавляем еще:

Код
@mysql_query("SET collation_connection=cp1251_general_ci", $DB->db_Conn);
@mysql_query("SET character_set_results=cp1251", $DB->db_Conn);
@mysql_query("SET character_set_client=cp1251", $DB->db_Conn);
@mysql_query("SET collation_database=cp1251_general_ci", $DB->db_Conn); 

в файле
/bitrix/php_interface/after_connect.php

Или, в крайнем случае >>
Код
<?
$DB->Query("SET NAMES 'cp1251'");
$DB->Query("SET CHARACTER SET 'cp1251'");

$DB->Query("SET collation_connection=cp1251_general_ci");
$DB->Query("SET character_set_results=cp1251");
$DB->Query("SET character_set_client=cp1251");
$DB->Query("SET collation_database=cp1251_general_ci");
?>
ответил 04 Апр, 15 от Romkka (580 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
2 ответов
спросил 25 Апр, 14 от EWARw (480 баллов)
0 голосов
4 ответов
0 голосов
6 ответов
спросил 31 Июль, 13 от LadyIdeaL (160 баллов)
0 голосов
4 ответов
спросил 22 Сен, 13 от MaxKamm (120 баллов)