
12.12.2007, 20:33
|
|
Новичок
Регистрация: 06.11.2007
Сообщений: 13
С нами:
9742834
Репутация:
30
|
|
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
|
|
|

12.12.2007, 21:01
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
Сообщение от eXp
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
PHP код:
<?
function Utf8ToWin($fcontents) {
$out = $c1 = \;
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
$out .= chr($out_i);
$byte2 = false;
}
if (($i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
?>
ИЛИ
PHP код:
<?php
function UTF8toCP1251($str){ // by SiMM, $table from http://ru.wikipedia.org/wiki/CP1251
static $table = array("\xD0\x81" => "\xA8", // Ё
"\xD1\x91" => "\xB8", // ё
// украинские символы
"\xD0\x8E" => "\xA1", // Ў (У)
"\xD1\x9E" => "\xA2", // ў (у)
"\xD0\x84" => "\xAA", // Є (Э)
"\xD0\x87" => "\xAF", // Ї (I..)
"\xD0\x86" => "\xB2", // I (I)
"\xD1\x96" => "\xB3", // i (i)
"\xD1\x94" => "\xBA", // є (э)
"\xD1\x97" => "\xBF", // ї (i..)
// чувашские символы
"\xD3\x90" => "\x8C", // Ӑ (А)
"\xD3\x96" => "\x8D", // Ӗ (Е)
"\xD2\xAA" => "\x8E", // Ҫ (С)
"\xD3\xB2" => "\x8F", // Ӳ (У)
"\xD3\x91" => "\x9C", // ӑ (а)
"\xD3\x97" => "\x9D", // ӗ (е)
"\xD2\xAB" => "\x9E", // ҫ (с)
"\xD3\xB3" => "\x9F", // ӳ (у)
);
return preg_replace(#([\xD0-\xD1])([\x80-\xBF])#se,
isset($table["$0"]) ? $table["$0"] :
chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70))
,
$str
);
}
?>
PS функции не мои
|
|
|

13.12.2007, 10:54
|
|
Новичок
Регистрация: 29.10.2007
Сообщений: 1
С нами:
9754726
Репутация:
5
|
|
Сообщение от eXp
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
PHP код:
$text = iconv("UTF-8", "CP1251", $text);
Работает 100%
|
|
|

13.12.2007, 12:06
|
|
Постоянный
Регистрация: 29.10.2007
Сообщений: 381
С нами:
9754684
Репутация:
65
|
|
вопрос. я заношу в бд через текст ареу текст с <img scr=img/male.gif>, думал что при выводе в браузер будет видно текст и рисунок, а рисунка нет, выводит просто пустой квадрат, почему так?
|
|
|

13.12.2007, 12:40
|
|
Участник форума
Регистрация: 05.08.2007
Сообщений: 236
С нами:
9877346
Репутация:
457
|
|
Сообщение от XopoIII
вопрос. я заношу в бд через текст ареу текст с <img scr=img/male.gif>, думал что при выводе в браузер будет видно текст и рисунок, а рисунка нет, выводит просто пустой квадрат, почему так?
проверь пути,тоесть папку где лежит срипт вывода контента и где относительногонего находятся картинки
|
|
|

13.12.2007, 12:43
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами:
9999746
Репутация:
1318
|
|
Ну осмелюсь предположить, что он картинку не находит... Попробуй абсолютные пути прописывать, если использование относительных выхывает у тебя затруднение.
|
|
|

14.12.2007, 09:47
|
|
Постоянный
Регистрация: 29.10.2007
Сообщений: 381
С нами:
9754684
Репутация:
65
|
|
не знаю может тут уже было, не искал, как сделать, чтобы в бд русский шрифт записывался русским а не иероглифами? ну и в последствии выводить
|
|
|

14.12.2007, 11:07
|
|
Постоянный
Регистрация: 24.02.2006
Сообщений: 447
С нами:
10636106
Репутация:
705
|
|
оправка письма
вот такая проблема возникла. Оправляю письма на yahoo не доходит, а на меил доходит нормально. Отключил в настройках спам контроль письма доходят через один и помечатся как спам. поискал в нете нашел вот такое объяснение
спам фильтр настроен таким образом, что письмо должно быть отправлено с "реального ящика", т.е. ящик, от имени которого отправляется письмо должен существовать и MMX запись должна соответствовать IP хоста, с которого отправляется письмо; другими словами, почтовый сервер должен быть развернут на том же сервере, что и отправляется скрипт.
Как можно это обойти? Если можно сразу с хидерами.
XopoIII по пробуй при соединение с базой прописать. И база у тя должна быть в этой кодировке.
PHP код:
mysql_query("SET NAMES cp1251");
Последний раз редактировалось gibson; 14.12.2007 в 11:10..
|
|
|

14.12.2007, 12:10
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
С нами:
10892546
Репутация:
2274
|
|
mysql_query("SET NAMES cp1251");
и
mysql_query("SET CHARSET cp1251");
и база должна быть в cp1251 если бзу неможеш сделать, переделай все таблицы в cp1251
|
|
|

14.12.2007, 12:46
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами:
9999746
Репутация:
1318
|
|
gibson, да никак ты это не сделаешь... Развёртывай у себя на хосте SMTP-сервер... Хотя, там тоже не дураки сидят, и при большом количестве спама добавят всю подсеть в бан... Это дело хидерами не обходится...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|