Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Konwertuje forum phpBB 2.0.21 -> phpBB 3.0.7-PL1 -> IP.Board 3.1.2 i mam mały problem z kodowaniem

W bazach miałem następujące kodowanie:

  • phpBB 2.0.21 -> Latin2
  • phpBB 3.0.7-PL1 -> UTF8 bin
  • IP.Board 3.1.2 -> UTF8

Po konwersji na stronie pokazują się polskie znaki i wszystko działa, ale w bazie polskie znaki są z krzakami.

O dziwo pod phpBB 3.0.7-PL1 nie ma tego problemu i wszystko jest ok i na stronie i w bazie...

Wie ktoś jak to poprawić?

Edytowane przez radi
Opublikowano (edytowane)

Co poprawić, jak działa?

Chodzi oto, że nie do końca bo w bazie mam krzaki

I np teraz chce wyświetlić na głównej stronie (cms) ostatnie tematy z forum i mimo, że wszędzie mam ustawione UTF-8 to wyświetlają mi się krzaki =(

Edytowane przez radi
  • Manager
Opublikowano

No to masz dwie opcje:

  • przekodować owe 'krzaki' (choć dla mnie to pewnie nie krzaki, a normalne znaki) na polskie ogonki,
  • zmienić swój skrypt wyświetlający na stronie CMS-a, by poprawnie formatował owe 'krzaki'.

Można prosić o screen tych 'krzaków'?

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

No to masz dwie opcje:

  • przekodować owe 'krzaki' (choć dla mnie to pewnie nie krzaki, a normalne znaki) na polskie ogonki,
  • zmienić swój skrypt wyświetlający na stronie CMS-a, by poprawnie formatował owe 'krzaki'.

Można prosić o screen tych 'krzaków'?

Tak to mniej więcej wygląda:

post-1287-081586100 1285605066_thumb.png

Na stronie jest ok

post-1287-052357900 1285604885_thumb.png

W bazie są krzaki

post-1287-038952700 1285604964_thumb.png

Wyciągam dane z bazy na innej podstronie niż forum i są krzaki a jest ustawione UTF-8 zarówno przy łączeniu z bazą jak i w kodowaniu strony

Edytowane przez radi
Opublikowano (edytowane)

Zrobiłem jeszcze mały test i zaciągnąłem dane z bazy phpbb3, której używałem do konwersji z phpbb2 i wyświetla się bez zarzutów

post-1287-034206100 1285605437_thumb.png

Myślę, że problem jest w zapisywaniu znaczków w bazie... może powinienem gdzieś zmienić kodowanie w IP Board?

Edytowane przez radi
Opublikowano (edytowane)

Dasz kod jakim wyciągasz tematy na stronę CMS?

Testuje to na frameworku Code Igniter 1.7.2 gdzie domyślnie jest UTF-8, a nie zmieniałem żadnych ustawień

Edytowane przez radi
Opublikowano

Ok, ale ja o kod pytam.

Model:

function ostatnie_tematy()	{

	$this->db->orderby("topic_id", "desc");
	$this->db->where('topic_title !=','');
	$this->db->limit(10);
	$query = $this->db->get('phpbb_topics');

	$result = $query->result();
	return $result;

}

Controller:

        $data['ostatnie_tematy'] = $this->forum_model->ostatnie_tematy();

       $this->load->view('welcome_message',$data);

View

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
       <title>Break.pl 2.0</title>

       <link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
       <link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
       <!--[if lt IE 8]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
       <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />

       <link rel="stylesheet" type="text/css" href="css/jquery/jquery.ui.all.css" rel="stylesheet" />
       <link rel="stylesheet" type="text/css" href="css/jquery/jquery.ui.theme.css" rel="stylesheet" />

   </head>
<body>



   <?php if($ostatnie_tematy) {?>

       <h2>Ostatnie tematy</h2>


       <?php if(isset($ostatnie_tematy) && $ostatnie_tematy != "") {?>

           <ul>
           <?php foreach($ostatnie_tematy as $item) { ?>
               <li><a href="/board/"><?php echo $item->topic_title; ?></a></li>
           <?php } ?>
           </ul>

       <?php } else {?> <p>Brak informacji</p> <?php } ?>


   <?php } ?>

  • Manager
Opublikowano

Zainteresuj się metodą:

	/**
 * Convert a string between charsets
 *
 * @access	public
 * @param	string		Input String
 * @param	string		Current char set
 * @param	string		Destination char set
 * @return	string		Parsed string
 * @since	2.1.0
 * @todo 	[Future] If an error is set in classConvertCharset, show it or log it somehow
 */
static public function convertCharsets( $text, $original_cset, $destination_cset="UTF-8" )

Z pliku: admin/sources/base/core.php

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

Zainteresuj się metodą:

	/**
 * Convert a string between charsets
 *
 * @access	public
 * @param	string		Input String
 * @param	string		Current char set
 * @param	string		Destination char set
 * @return	string		Parsed string
 * @since	2.1.0
 * @todo 	[Future] If an error is set in classConvertCharset, show it or log it somehow
 */
static public function convertCharsets( $text, $original_cset, $destination_cset="UTF-8" )

Z pliku: admin/sources/base/core.php

Dzięki, czyli podsumowując polskie znaki w UTF8 poprawnie zapisują się w bazie z krzakami i muszę za każdym razem je odkodowywać jak chce je gdzieś wyświetlić?

Edytowane przez radi
  • Manager
Opublikowano

Dokładnie tak. Możesz przekodować znaczki, jak pisałem wyżej, a potem zmienić sposób kodowania zapisywanych znaków do bazy, by zapisywało je z ogonkami, a nie kodując do UTF8.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Ja też mam jak Ty to nazwywasz "krzaki" w bazie i wszystko to jest normalne, bo zależy jak masz skonfigurowaną bazę, tzn chodzi o sposób porównywania znaków itp. W każdym bądź razie tak ma być jeśli wszystko jest od a do z w utf-8.

  • Lubię to 1

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Opublikowano (edytowane)

Dokładnie tak. Możesz przekodować znaczki, jak pisałem wyżej, a potem zmienić sposób kodowania zapisywanych znaków do bazy, by zapisywało je z ogonkami, a nie kodując do UTF8.

A jak jest u was na forum zrobione? Trzymacie krzaki w bazie czy konwertujecie wszystko na Latin2?

Bo u mnie gdy są krzaki w bazie wyszukiwarka nie zawsze działa.

Przykład: III Ogólnopolska edycja konkursu "MŁODE TALENTY" 2

talenty

post-1287-006208700 1285629628_thumb.png

młode

post-1287-077298200 1285629637_thumb.png

Edytowane przez radi
  • Manager
Opublikowano

A jak jest u was na forum zrobione? Trzymacie krzaki w bazie czy konwertujecie wszystko na Latin2?

To nie są krzaki! :P

Bo u mnie gdy są krzaki w bazie wyszukiwarka nie zawsze działa.

U mnie polskie znaki działają. Kwestie serwerowe serio nie są moją mocną stroną, ale mam tabele w bazie pod utf8, polskie znaki w takim kodowaniu i jak widać wszystko działa.

Jaki masz serwer?

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Hmmm .. Krzaczki. To wygląd znaków UTF specjalnych. Też tak mam. I pewnie większość na tym forum.

Kwestie szukania, czasem nie działa bo zbyt krótki jest ciąg znaków.... Podaj przykłady kiedy Ci nie wyszukuje.

Opublikowano (edytowane)

Jaki masz serwer?

Forum mam zainstalowane na dysku na EasyPHP 5.3.3 i na dedyku w OVH w obu przypadkach jest tak samo.

Jednak w większości przypadków wyszukiwanie działa, więc nie jest to dla mnie jakiś duży problem.

Czyli u ciebie w bazie jak wchodzisz przez PHPmyadmin widzisz polskie znaki?

Edytowane przez radi
Opublikowano (edytowane)

Jednego w tym wszystkim nie rozumiem.

Jak dodaje rekord przez PHPmyadmin polskie znaki się zapisują

Jak dodaje przez CMS też się polskie znaki zapisują, tylko jak dodaje przez forum znaki są kodowane.

Co muszę zmienić w skrypcie forum, żeby też zapisywał polskie znaki do bazy w której wszystko jest poprawnie ustawione jeśli chodzi o kodowanie UTF8?

Edytowane przez radi
Opublikowano (edytowane)

Spróbuj w pliku conf_global.php zmienić kod:

$INFO['sql_charset']			=	'';

Na:

$INFO['sql_charset']			=	'latin2';

Dzięki o to mi chodziło!

latin2 nie zadziałało ale wpisałem utf8 i działa! :P

Dodam też, że problem z wyszukiwaniem znikł i wyszukiwarka poprawnie wyszukuje polskie znaki!

Oto efekty moich testów może się komuś przydadzą:

post-1287-003097600 1285691988_thumb.png

Edytowane przez radi
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.