Sivu 3/3
Lähetetty: 27 Touko 2006, 14:16
Kirjoittaja HazuKazu
Minulla on sama ongelma. Koikeilkaapa käyttää tuolla ääkkösiä:
http://simppeli.org/~hazukazu/foorumi/
Lähetetty: 27 Touko 2006, 16:44
Kirjoittaja TheMagician
Mulla toimi ääkköset ku pistin tän phpBB2 tietokannalle
Koodi: Valitse kaikki
ALTER DATABASE tietokannan_nimi CHARACTER SET latin1 COLLATE latin1_general_ci;
Eli tuo vaihtaa merkistön Latin1:ksi, mutta kannattaa ottaa eka se backup, jos joku vaikka menee pärsiilteen, mulla toimi ja hyvä niin

Lähetetty: 28 Touko 2006, 17:50
Kirjoittaja tuuletin
Kummatkaan neuvot eivät toimineet.Mitäs nyt?

Lähetetty: 30 Touko 2006, 14:36
Kirjoittaja fizzl
tuuletin kirjoitti:Kummatkaan neuvot eivät toimineet.Mitäs nyt?

Pistän tässä toista forumia pystyyn, ja päätin kokeilla uudenlaista lähestymistapaa ongelmaan.
Tämä tapa saattaa räjäyttää mitä tahansa. Hieman, eh, omituinen häkki.
Eli, ensinnäkin tietokanta luodaan utf-8 muodossa, collation utf8_general_ci.
Tämän jälkeen muokataan:
admin/page_header_admin.php
Kommantoi gzip pakkauksen käsittely.
muokkaa:
admin/pagestart.php
poista gzip pakkaus
muokkaa: includes/page_header.php:45
Poista gzip sydeemit.
muokkaa: extension.inc
lisää ob_start();
Etsi kaikki ob_end_clean paikat ja kommentoi kaikki pois.
Laita page_tail.php ja admin/page_footer_admin tiedostoihin kaiken tulostuksen jälkeen:
Koodi: Valitse kaikki
$ob = utf8_decode(ob_get_contents());
ob_end_clean();
echo $ob;
Sitten muokataan common.php. Lisää aivan loppuun:
Koodi: Valitse kaikki
// Translate http vars
function toutf8($arg)
{
foreach($arg as &$var)
{
if(is_array($var))
$var = toutf8($var);
else if(is_string($var))
$var = utf8_encode($var);
}
return $arg;
}
$HTTP_POST_VARS = toutf8($HTTP_POST_VARS);
$HTTP_GET_VARS = toutf8($HTTP_GET_VARS);
$HTTP_COOKIE_VARS = toutf8($HTTP_COOKIE_VARS);
Tämä muuttaa kaikki stringit UTF-8:ksi, ja lopussa sitten runnotaan ne iso-8859-1 muotoon tuolla decodella.
Sitten vielä lopuksi menet tähän hakemistoon:
/language/lang_finnish/
ja ajat tämän bash scriptin:
Koodi: Valitse kaikki
for file in *.php
do
iconv -t UTF-8 $file -o $file.utf-8
mv $file.utf-8 $file
done
cd email
for file in *.tpl
do
iconv -t UTF-8 $file -o $file.utf-8
mv $file.utf-8 $file
done
echo; echo
exit 0
Jos jotain menee vikaan niin koita sumplia. Tämä oli vain pikainen muistelo tästä 4 tunnin häkkäyssessiosta. Perusidea on se, että kaikki string muotoinen data näytetään ja siirretään iso-8859-1 muodossa mutta käsitellään php:ssa utf-8 muodossa.
Lähetetty: 02 Kesä 2006, 14:29
Kirjoittaja tuuletin
Pukkaa syntax erroria kokoajan.
Lähetetty: 02 Kesä 2006, 19:33
Kirjoittaja mrl586
tuuletin kirjoitti:Pukkaa syntax erroria kokoajan.
Kerrotko tuosta errorista hieman tarkemmin?
Lähetetty: 02 Kesä 2006, 22:00
Kirjoittaja tuuletin
mrl586 kirjoitti:tuuletin kirjoitti:Pukkaa syntax erroria kokoajan.
Kerrotko tuosta errorista hieman tarkemmin?
Mitä siitä sen enempää kertomaan, kuine että valittaa melkein jokaista mokattua tiedostoa.
Lähetetty: 02 Kesä 2006, 22:50
Kirjoittaja Admin
Mites jos vaikka copy-pasteat koko virheilmoituksen tänne...silloin nuo jotka ymmärtävät saattavat saada osviittaa mikä mahtaa olla vikana

Lähetetty: 03 Kesä 2006, 23:45
Kirjoittaja tuuletin
Jokaisen editoidun tiedoston kohdalla jotenkin näin:
Syntax error:
Line (muokattu rivi)
Lähetetty: 06 Kesä 2006, 10:10
Kirjoittaja tuuletin
Tein jotakin, niin sain aikaan tälläisen virheilmoituksen:
Could not insert new word matches
DEBUG MODE
INSERT INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 222, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('ääkköstesti')
Line : 251
File : functions_search.php
Lähetetty: 06 Kesä 2006, 23:08
Kirjoittaja fizzl
Tämän virheen mäkin sain jollain mielenkiintoisella db/collation charset asetuksilla. Olikohan tietokanta ja collation latin1 ja osa taulujen varchar kentistä utf-8. Tai toisinpäin.
Tuo siis mulla tapahtui tunaamattomalla phpBB:llä.
Pistä tuuletin oikeesti ne syntax error systeemit kokonaan. Ne saattaa kertoa paljonkin php:ta tuntevalle vaikka saattavatkin vaikuttaa turhanpäiväiseltä mössöltä. Luulen että sattui joku copy&paste virhe.
Toisaalta, noilla mun ohjeilla ei kyllä ohjelmointia tuntematon varmaankaan onnistu modaamaan. Pahus kun olisin ottanut diffit heti häkkäyksen jälkeen. Nyt olen jo munklinut vaikka mitä muutakin.
Lähetetty: 07 Kesä 2006, 19:55
Kirjoittaja tuuletin
Parse error: syntax error, unexpected '&', expecting T_VARIABLE or '$' in /var/www/localhost/htdocs/phpBB2/common.php on line 238
Lähetetty: 10 Kesä 2006, 22:08
Kirjoittaja tuuletin
Phpbb on nyt toisella palvelimella ja ääkkösongelma on ratkaistu.