йероглифи при utf-8

montana

Registered
Имам търсачка и страницата е на utf-8, но когато търся нещо на кирилица ми излиза пÑ�еÑ�лава Как да го опраря? Без база данни е.
 
HTML
HTML:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

или PHP

PHP:
header("Content-Type: text/html; charset=windows-1251");

мисля че ако използваш PHP 2рото ще ти свърши работа.
 
Ванка целия сайт му е на утф-8 ,,,

просто да сложи кода който дадох по-горе там където му прави проблем.

Сложи го най от горе където започва

<? ....
 
Ако кодировката не му беше правилна нямаше да му излизат тези "йероглифи", а тези "асация. Това пÑ�еÑ�лавРс две думи означава, че всичкият му енкодинг е добре. Страницата подава utf-8 и браузера го познава като такова, само че самите файлове са сейфани с с кодировка ANSI, а трябва да се сейфат с UTF8 без BOM.
 
Значи да обясня малко повече :)
Системата представлява търсачка на музика и последно търсените песни се записват в един .txt файл. Този файл се инклудва в индекса и ако нещо е търсено на кирилица излиза с тези йероглифи. НО в формата за търсене като се пише на кирилица няма проблем, но когато търси (в 4shared) не ми извежда резултати на български. Пример:

Пиша "Преслава"

Излизат ми резултати:
Very Slow Guitar Music
MC Mong ft Mellow - Sick Enough To Die
Kotak - Pelan Pelan Saja

и т.н, но ако търся за "Preslava" тогава всичко си е ОК
==========================================

PS. Може ли този код да се промени така, че дори в input полето да се пише на кирилица, автоматично да се обръща на латиница
PHP:
<?php

function latinica($lat){
        $latinica=array("a","b","v", "g","d","e", "j", "z", "i", "ii", "k", "l", "m","n","o", "p","r","s", "t","u","f", "h","c","ch" , "sh","sht", "u", "io", "iu", "q", "A","B","V", "G","D","E", "J", "Z", "I", "II", "K", "L", "M","N","O", "P","R","S", "T","U","F", "H","C","CH" , "SH","SHT", "U", "IO", "IU", "Q"); //латинските букви
        $kirilica=array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ь", "ю", "Я"); //кирилица, съответстващ на латиницата по-горе
        $bbc_num=count($kirilica); //бройм елементите във $kirilica
        $loop=0;
        while($loop<$bbc_num){
                $lat=str_replace($kirilica[$loop], $latinica[$loop], $lat); //заместваме
                $loop++;
        }
        return $lat;
}
$strings = latinica($lyric_kirilica);

?>

А това ми е формата за търсене:
HTML:
			<form method="get" action="index.php">
			<input type="text" name="search" value="Моля пишете на латиница..." onblur="login_inputs_change('blur', this)" onfocus="login_inputs_change('focus', this)" />
			<input type="hidden" name="source" value="4shared"/>			
			<input class="button-flat search-button" type="submit" value="Търси"/>
			</form>
 
Сложи <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> и само това и страницата ти ако е направена UTF-8 (без BOM), я направи в ANSI :)
 
Digi7aL каза:
Сложи <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> и само това и страницата ти ако е направена UTF-8 (без BOM), я направи в ANSI :)

Така пък абсолютно всичко става на маймуница.
Някой ако мисли че може да го оправи да ми пише ЛС, ще му дам целия скрипт да погледне, в замяна може да му предложа реклама в сайта
 
А може ли да се направи така, че като се напише нещо на кирилица и автоматично да търси на латиница
Пример: Пиша 'Музика' и да ми излизат резултати 'Muzika'
 
Digi7aL каза:
Сложи <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> и само това и страницата ти ако е направена UTF-8 (без BOM), я направи в ANSI :)

Ама ти страшни акъли даваш бе човек. Накрая като почне да му издиша и пак ще пусне тема как да си оправи енкодинга.
 

Back
Горе