php запись в файл - через раз кракозябры

12
VHS-1980
На сайте с 21.05.2010
Offline
91
#11
DriverCat:
да сделано давно уже.utf-8 в базе. понять хотя бы из-за чего не каждый раз такое происходит...

пока не понятна закономерность - ничего понять нельзя. Что-то с данными, а что - хз.

mysql_query ("set character_set_client='utf8'"));

mysql_query ("set character_set_results='utf8'"));

mysql_query ("set collation_connection='utf8_general_ci'"));

возможно поможет.

DriverCat
На сайте с 10.04.2008
Offline
116
#12
VHS-1980:
пока не понятна закономерность - ничего понять нельзя. Что-то с данными, а что - хз.

mysql_query ("set character_set_client='utf8'"));
mysql_query ("set character_set_results='utf8'"));
mysql_query ("set collation_connection='utf8_general_ci'"));

возможно поможет.

все это уже давно стоит, так как всегда разбирался с кодировками так как проблема была закономерна, а тут вот такое...

VHS-1980
На сайте с 21.05.2010
Offline
91
#13
DriverCat:
все это уже давно стоит, так как всегда разбирался с кодировками так как проблема была закономерна, а тут вот такое...

Попробуйте в cron задание как GET 'http://адрес_скрипта_в_браузере'. Разные ли будут результаты?

DriverCat
На сайте с 10.04.2008
Offline
116
#14
VHS-1980:
Попробуйте в cron задание как GET 'http://адрес_скрипта_в_браузере'. Разные ли будут результаты?

дык я через браузер - щас проверил строку для записи mb_detect_encoding - UTF8,а записался криво, посмотрел эту статью в вики http://ru.wikipedia.org/wiki/%CA%F0%E0%EA%EE%E7%FF%E1%F0%FB - получается типа перед записью строка в utf-8, а в самом файле после записи - уже как Windows-1251, как она так слетает?

---------- Добавлено 20.12.2012 в 14:06 ----------

так вот ща через notepad ++ сделал не преобразовать, а кодировать в UTF8 без BOM - стал читаемым текст, получается что данные то в utf-8,а вот файл сохраняется как ANSI - так чтоли? как мне это исправить?

VHS-1980
На сайте с 21.05.2010
Offline
91
#15

........... потер нафиг....

локали настройте.

DriverCat
На сайте с 10.04.2008
Offline
116
#16
VHS-1980:
........... потер нафиг....
локали настройте.

вот что стоит setlocale(LC_ALL,"ru_RU.UTF-8"); Debian

VHS-1980
На сайте с 21.05.2010
Offline
91
#17
DriverCat:
подождите, чего-то я совсем запутался, так тут все одинаково должно быть, нет?

Но вы же пишете, что через раз то нормально, то нет. Разбирайте по шагам.

Добавьте .htaccess с AddDefaultCharset

Настройте локали.

Перекодируйте контент принудительно перед записью.

в каком-то пункте из этого списка у вас проблема.

DriverCat
На сайте с 10.04.2008
Offline
116
#18

не пойму, походу что-то не добавляется что-ли в файл, чтобы он в програмах определялся как utf-8 - так как открываю его в блокноте - все нормально, в notepad++ - криво (пишет ANSI, а не ANSI as UTF*), как только кодировать в utf8 - становится нормально. что кривое - скрипт, сервак, php или что?

VHS-1980
На сайте с 21.05.2010
Offline
91
#19

попробуйте сначала 'wb+'

если не поможет, то:

$e = fopen($filePath,'wb+');
fwrite($e, pack("CCC", 0xEF, 0xBB, 0xBF));
fwrite($e, $htmlTemplate);
fclose($e);
}

это добавит BOM в начало.

Больше всего похоже на кривой редактор у вас. Хотя сам его использую и не встречал проблем, но все же.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий