Pereiti prie turinio

CodeIgniter lietuviškos raidės


Rekomenduojami pranešimai

Nemanau, kad CodeIgniter specifinė problema.

HTML charset headerį įmetei į <head>? HTML4:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

HTML5:

<meta charset="utf-8">

Iš kur tas tekstas? Jei tiesiog faile, žiūrėk, ar tinkama jo koduotė. Jei duomenų bazėj, irgi žiūrėk jos koduotę.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Viso tikrai ne. :) Bet tą dalį, galiu parodyti :)

 

Controller:

 

	public function index()
{
	//Gauname lankytojo IP adresą
	$ip = $_SERVER['REMOTE_ADDR'];

	//Gauname 4 atsitiktines pamokas
	$get_random_lessons = $this->admin_model->get_random_lessons();

	$data['title'] = "Pagrindinis";
	$data['content'] = $this->load->view("book_cover", array('ip' => (string)$ip, 'random_lessons' => $get_random_lessons), TRUE);

	$this->load->view("template", $data);
}

 

Views:

 

	<div id='random_lessons_block'>
	<div class='title_of_random_lessons'>Atsitiktinės pamokos</div>
	<?php foreach($random_lessons as $lessons): ?>
		<div id='dot'></div>
		<div class='lesson_name'>
			<?php echo substr($lessons->title, 0, 50) ?>...
		</div>
		<div class='clear'></div>
	<?php endforeach; ?>
</div>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Turbūt problema yra substr, kažkur uždarby buvo tema apie tai, kad jis sugadina lietuviškus simbolius, jei per juos kerpa (nes unikodinis simbolis - du baitai). PHP.net radau tokį sprendimą:

<?php
$string="texto en español";
echo utf8_encode(substr(utf8_decode($string),0,14)); //Outputs: texto en españ
?>

bandyk :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tiesiog bandei 'echo "ĄČĘĖĮŠŲ";'?

Jei neišvedė, tai arba failo encodinim'as netoks, ar meta tagų nėra (bet šitas atkrenta, nes sakei, kad yra).

 

O jei išvedė, tai su DB kažkas ne taip, nes kiek aš esu daręs ir RU, ir LT ir kitom kalbom, tai niekad nebuvo tokios bėdos su CodeIgniter'iu.

 

Be to pačios lentelės koduotė ir yra utf8? Nes kažkada seniai man buvo, kad kai koduotės nesutapo, ar kai buvo sukurta su kitokia koduotė, tai LT raidžių nelabai norėjo rodyti, bet tai ne CodeIgniter'is buvo, jis tikrai čia ne prie ko :)

post-486-069694900 1309680305_thumb.png

Redagavo dice
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pabandyk prieš vykdydamas užklausą įvykdyt 'SET NAMES utf8'. Bet tai greičiausiai nepadės jei naudoji modelį kaip objektą specifinei lentelei, o ne tiesiogines užklausas, nors nežinau kaip ten su Igniteriu.

Dar yra variantas kad Igniterio confige nenustatei default charset (jei toks nustatymas yra - neteko dirbt su juo, tačiau Kohanoje yra).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Išveda. :) Bandžiau su MySQL ten tuos nustatymus perdaryti, bet nepadėjo.

 

Na susikurk kokią naują lentelę, kurios koduotė bus utf8_general_ci ir įrašyk eilutę su lt simboliais ir pabandyk ją išsitraukti.

 

Jei nepadės, tai duok prisijungimus (jei nenori, tai per kokį teamviewerį), tuomet galima būtų pažiūrėt į viską, nes mes čia tik spėlioti galim :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sprendimas:

 

Duombazių koduotę pakeitėm į "utf8_general_ci" ir prieš query parašėm "$this->db->query('SET NAMES \'utf8\'');"

 

Be to čia viskas ant wamp serverio buvo, turbūt dėl to tokios ir bėdos buvo :)

 

Wamp cia nekaltas, jis is pradziu teisingos koduotes nenustate ir del to prireike SET NAMES, man su wamp viskas veikia puikiai

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...