вопрос
Сайт работает все нормально
Поставил туда это чудо http://forum.marzochi.ws/thread-139.html , и при выборке с помощью данного хака вот такая ерунда получается, в опере норм показывает, в мозиле глюк , на локалке все работало ок, перенес на хост и начались проблемы с кодировкой(((
вот код хака для engine/engine.php
в сайт вставил
так как сайт в кодировке 1251 то в коде поменял
на
но проблема осталась сайт чтобы посмотреть сайт
в базе везде сравнение cp1251_general_ci
сохранил базу и поменял все utf8 на cp1251 и все UTF-8 на windows-1251 потом снова загрузил базу на сервер, результата ноль, на локалке все ок
Поставил туда это чудо http://forum.marzochi.ws/thread-139.html , и при выборке с помощью данного хака вот такая ерунда получается, в опере норм показывает, в мозиле глюк , на локалке все работало ок, перенес на хост и начались проблемы с кодировкой(((
вот код хака для engine/engine.php
} elseif ($do == 'xfsearch') {
// ################ Поиск новостей по доп. полям #################
if ($cstart) {
$cstart = $cstart - 1;
$cstart = $cstart * $config['news_number'];
}
$newsmodule = true;
$xf = $_GET['xf'];
if ( $config['charset'] == "utf-8" AND $config['charset'] != detect_encoding($xf) ) {
$xf = iconv( "UTF-8", "utf-8//IGNORE", $xf );
}
if ( strpos($xf, "|") != False ) {
$xfs = explode("|", $xf);
$_xf = "";
foreach( $xfs as $xfk => $xfv ) {
if (!empty($xfv)) {
$xfv = @$db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( $xfv ) ) ), ENT_QUOTES, $config['charset'] ) );
$_xf .= "xfields LIKE '%{$xfv}%' AND ";
}
}
$_xf = substr($_xf, 0, -4);
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $_xf) );
$user_query = "do=xfsearch&xf=" . urlencode ( str_replace("'", "'", $_xf) );
$sql_select = "SELECT SQL_CALC_FOUND_ROWS p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}{$_xf} AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
$sql_count = "SELECT FOUND_ROWS() as count";
$allow_active_news = true;
} else {
$xf = @$db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( $xf ) ) ), ENT_QUOTES, $config['charset'] ) );
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );
$user_query = "do=xfsearch&xf=" . urlencode ( str_replace("'", "'", $xf) );
if (isset ( $_SESSION['dle_sort_xfsearch'] )) $news_sort_by = $_SESSION['dle_sort_xfsearch'];
if (isset ( $_SESSION['dle_direction_xfsearch'] )) $news_direction_by = $_SESSION['dle_direction_xfsearch'];
$sql_select = "SELECT SQL_CALC_FOUND_ROWS p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}xfields LIKE '%{$xf}%' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
$sql_count = "SELECT FOUND_ROWS() as count";
$allow_active_news = true;
}
} elseif ($subaction == 'userinfo') {
в сайт вставил
<div class="filtr">
<select id = "hroniki">
<option value = "">-- Выберите хроники --</option>
<option value = "Oath of Blood"> Oath of Blood </option>
<option value = "Interlude"> Interlude </option>
<option value = "The Kamael"> The Kamael </option>
<option value = "Hellbound"> Hellbound </option>
<option value = "Gracia"> Gracia </option>
<option value = "Freya"> Freya </option>
<option value = "High Five"> High Five </option>
<option value = "Goddess of Destruction"> Goddess of Destruction </option>
</select >
<br/><br/>
<select id = "reit">
<option value = "">-- Выберите рейт--</option>
<option value = "=x1"> =x1 </option>
<option value = "x2-x5"> x2-x5 </option>
<option value = "x6-x10"> x6-x10 </option>
<option value = "x11-x30"> x11-x30 </option>
<option value = "x31-x50"> x31-x50 </option>
<option value = "x51-x75"> x51-x75 </option>
<option value = "x76-x100"> x76-x100 </option>
<option value = "x101-x200"> x101-x200 </option>
<option value = "x201-x300"> x201-x300 </option>
<option value = "x301-x500"> x301-x500 </option>
<option value = "x501-x1000"> x501-x1000 </option>
<option value = "x1001-x1200"> x1001-x1200 </option>
<option value = "x1200-x5000"> x1200-x5000 </option>
<option value = "x5001-x10000"> x5001-x10000 </option>
<option value = "v10001"> выше 10001 </option>
</select>
<br/><br/>
<select id = "online">
<option value = "" >-- Выберите олайн --</option>
<option value = "11-100"> 11-100 </option>
<option value = "101-200"> 101-200 </option>
<option value = "201-300"> 201-300 </option>
<option value = "301-500"> 301-500 </option>
<option value = "501-800"> 501-800 </option>
<option value = "801-1000"> 801-1000 </option>
<option value = "1001-1500"> 1001-1500 </option>
<option value = "1501-2000"> 1501-2000 </option>
<option value = "2001-2500"> 2001-2500 </option>
<option value = "2501-3000"> 2501-3000 </option>
<option value = "3001-4000"> 3001-4000 </option>
<option value = "4001-5000"> 4001-5000 </option>
<option value = "5001-7000"> 5001-7000 </option>
<option value = "7001-10000"> 7001-10000 </option>
<option value = "Свыше 10000"> Свыше 10000 </option>
</select>
<br/>
<span class="filterhelp">Если фильтр при повторном выборе выдал тот же результат, значит по заданным Вами параметрам РЕЗУЛЬТАТОВ НЕТ</span>
<br/>
<script type="text/javascript">
var hroniki = "";
var reit = "";
var online = "";
function updatePage( term ) {
ShowLoading();
var url = "http://onwire.info?do=xfsearch&xf=" + (term.replace(/\s/g,'+'));
$('#dle-content').fadeOut(500, function() {
$('#dle-content').load( url + ' #dle-content', function() {
$('#dle-content').fadeIn(500);
HideLoading();
});
});
var pos = $("div[id=dle-content]").offset();
$("html").animate({scrollTop: pos.top}, 500);
return false;
}
function updateTerms( ) {
var search = [];
if (hroniki != "") search.push(hroniki);
if (reit != "") search.push(reit);
if (online != "") search.push(online);
var term = search.join("|")
updatePage( term );
//$("#result").html(term);
}
$("#hroniki").change(function() { $("#hroniki option:selected").each(function () { hroniki = $(this).attr('value');updateTerms(); }); });
$("#reit").change(function() { $("#reit option:selected").each(function () { reit = $(this).attr('value');updateTerms(); }); });
$("#online").change(function() { $("#online option:selected").each(function () { online = $(this).attr('value');updateTerms(); }); });
</script>
<div id="result"></div>
</div></ul>
<div class="clr"></div>
так как сайт в кодировке 1251 то в коде поменял
if ( $config['charset'] == "utf-8" AND $config['charset'] != detect_encoding($xf) ) {
$xf = iconv( "UTF-8", "utf-8//IGNORE", $xf );
на
if ( $config['charset'] == "windows-1251" AND $config['charset'] != detect_encoding($xf) ) {
$xf = iconv( "UTF-8", "windows-1251//IGNORE", $xf );
но проблема осталась сайт чтобы посмотреть сайт
в базе везде сравнение cp1251_general_ci
сохранил базу и поменял все utf8 на cp1251 и все UTF-8 на windows-1251 потом снова загрузил базу на сервер, результата ноль, на локалке все ок
Проблему решил :)
Открыть .htaccess в корне и в начале сразу после DirectoryIndex index.php
Добавить:
AddDefaultCharset windows-1251
Открыть .htaccess в корне и в начале сразу после DirectoryIndex index.php
Добавить:
AddDefaultCharset windows-1251