View Full Version: Ratkaistu Accents ei näy oikein ...
freddie3218
07-03-11, 16:09
Hi.
Käytän vBulletin 4.08.
Käytän vBET varten lähinnä kahdella kielellä ... Englanti ja ranska. Olen foorumi oletuskielen asetettu Englanti. Silloin, kun ranskalainen käyttäjän viestit, käännös näkyy oikein Englanti. Kuitenkin Ranskan aksentit eivät näy. Sen sijaan se näyttää tältä:
Dans quelle langue vous allez & #233;crire vos messages. Forum traduira automatiquement vos messages & #224; d'autres utilisateurs langues. En outre, il se traduira par des postes dans d'autres langues & #224; votre langue par d& #233;faut.
Sen pitäisi näyttää tältä:
Dans quelle langue vous allez écrire vos messages. Forum traduira automatiquement vos messages à d'autres utilisateurs langues.
Foorumini on määritetty näyttämään molempia kieliä kuin ISO-8859-1. Siksi en ole UTF-8
Olen myös seurannut asennusohjeita tarkasti.
Ainoa muutos tein vBET on, että olen muuttunut Oletuksena liput käyttäen CSS-Spriten. Kuitenkin katsoin koodi, eikä mitään tein pitäisi vaikuttaa siten, että asiat ovat esillä.
Täytyykö minun muuttaa minun db UTF-8 ongelman ratkaisemiseksi?
Kaikki neuvot tulee arvostaa. Thanks. :)
freddie3218
08-03-11, 17:56
No .... Poistin kaikki muut plugin, ja minulla on edelleen sama ongelma. Näyttää bugi vBET
kamilkurczak
08-03-11, 19:35
hei, käytätte UTF-8 foorumi ja tietokanta vai ei?
Jos ei - minun olisi pitänyt ratkaisu sinulle. I wil valmistella sitä ja kirjoittaa täällä.
Jos voit - liitä tässä URL kierre tämän asian kanssa.
Kiitos
freddie3218
09-03-11, 00:15
hei, käytätte UTF-8 foorumi ja tietokanta vai ei?
Jos ei - minun olisi pitänyt ratkaisu sinulle. I wil valmistella sitä ja kirjoittaa täällä.
Jos voit - liitä tässä URL kierre tämän asian kanssa.
ThanksNo, en käytä UTF-8 foorumi tai tietokantaan. Käytän ISO-8859-1.
Näet ongelma elävät katselee tätä thread:
1 dollari Tämä on testi (http://kokoku.ca/forums/showthread.php?t=418)
Thanks. :)
freddie3218
10-03-11, 01:05
Kaikki uutiset mikä sen aiheuttaa?
kamilkurczak
10-03-11, 10:04
hello,
Olen testaamalla sitä minun testi foorumi (ei UTF) enkä voi toistaa sitä, mutta voit kokeilla tätä ratkaisua.
Minulla on jotain sinulle:
1. auki, kopioi ja Muokkaa tätä tiedostoa:
Foorumin root / includes / vbenterprisetranslator_functions_utils.php
2. Tämän toiminnon löytää:
function vbet_encodeToSafeUTF8(&$string) {
//TODO how to check does utf-8 is involved? how often this function is used?
// if (! ereg('[\200-\237]', $string) and ! ereg('[\241-\377]', $string))
// if (!preg_match('/[\200-\237]/', $string) and !preg_match('/[\241-\377]/', $string))
// if (!preg_match('/[\200-\237\241-\377]/e', $string))
// return $string;
// decode three byte unicode characters
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);
//decode two byte unicode characters
$string = preg_replace('/([\300-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);
return $string;
}
3. ja kommentoida kaikki rivit ilman paluuta kuten tämä:
function vbet_encodeToSafeUTF8(&$string) {
//TODO how to check does utf-8 is involved? how often this function is used?
// if (! ereg('[\200-\237]', $string) and ! ereg('[\241-\377]', $string))
// if (!preg_match('/[\200-\237]/', $string) and !preg_match('/[\241-\377]/', $string))
// if (!preg_match('/[\200-\237\241-\377]/e', $string))
// return $string;
// decode three byte unicode characters
// $string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
// '\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
// $string);
//decode two byte unicode characters
//$string = preg_replace('/([\300-\337])([\200-\277])/e',
// '\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
// $string);
return $string;
}
4. Tallenna ja testaa!
Tämän pitäisi toimia vain uusia virkoja. kaikki nykyiset viestit sinun täytyy muokata käsin.
En ole SHURE että sinulla on ISO foorumi mutta voit testata sitä. Jos ei hyvä - ota korvata nämä muutokset bu vanha tiedosto
freddie3218
10-03-11, 15:30
Hei,
Se oli hyvä kokeilla. Kuitenkin, se ei toimi.
Lähtö näyttää nyt: "Ceci est un testi. S'il vous plaa ® T ignorer CE viesti."
Oikea tuotoksesta on: "Ceci est un testi. S'il vous letti ignorer CE viesti."
Siksi olen palannut takaisin.
Tässä on yksi asia, olen huomannut:
Kun lähettämistä ja editointi, se ei näy oikein. Kuitenkin, jos osuin WYSIWYG-painiketta mennä "yksinkertainen tila", sitten se näyttää oikein WYSIWYG editori. Kuitenkin, kun yritän tallentaa sen, se siirtyy näyttämään väärin jälleen. Näyttää siltä, että WYSIWYG ei jäsentämiseen asioita oikein ennen tallennusta kun olen käyttäen vBET vieraalla kielellä, tai kun olen käyttäen [lang =] tageja. Kuitenkin, jos lähetän ulkomainen lause ilman [lang = fr] tageja, niin se näyttää oikein tallennettaessa. Näyttää siis siltä, että vBET ei salli WYSIWYG jäsentää oikein ennen tallennusta ... jos mitään järkeä.
kamilkurczak
10-03-11, 23:41
olet tästä asiasta, kun haluat viesti käännetty sivu vai ei? Kuvaile, mitä minun pitäisi tehdä saada samat tulokset minun testifoorumi.
freddie3218
11-03-11, 07:19
olet tästä asiasta, kun haluat viesti käännetty sivu vai ei? Kuvaile, mitä minun pitäisi tehdä sama tulos minun testin forum.I tiedä jos voit kopioida tätä teidän foorumia tai ei. Tämä on kuitenkin mitä tapahtuu:
VBulletin versio 4.08
Minulla on kaksi kieltä sivustoni: Englanti ja ranska. Poistin kaikki muut kielet, ja kaikki muut liput.
Kaikki Englanti ja ranska on käännetty koko sivuston asianmukaisesti, ja oikea aksentti. Ainoa kerta aksentit eivät näy oikein on, jos joku käyttää ranskan kieltä ja viestiä ranskaksi ... ottavat "Ranskan kieli" valitaan heidän käyttäjäprofiilin. Tällöin vBET tulee määrittää oikea BBCode tagien automaattisesti, kun ne postitse. IE: "[lang = fr]" Kuitenkin, kun he esittävät postitse aksentti niiden viesti ei näy kunnolla. Jos he painamalla "muokkaa viesti"-painiketta, he näkevät virka Advanced WYSIWYG näkyy väärin (Minulla on kaikki tilit asetettuna käyttää WYSIWYG jopa nopean vastauksen, oletuksena jotta kaikki käyttäjät voivat liittää kuvia niiden kiintolevyn). Kuitenkin, jos ne vaihtaa "Vaihda muokkausikkunan tilaa"-painiketta edestakaisin, he näkevät post näy kunnolla. Kuitenkin, kun he yrittävät tallentaa muutokset niiden kirjeenä, se tulee jälleen näkyviin väärin, kun he säästävät virassaan.
Tämä ongelma vasta sitten, kun käyttäjä käyttää "ranskan kielen" niiden käyttäjäprofiilin asetuksia ja lähettämistä ranskan kielessä ... jolloin vBET Lisää [lang = fr] virkaan automaattisesti.
Foorumini oletuksena kieli on Englanti.
Jos joudut katsomaan noin foorumiini ... PM minulle, ja minä lähetän sinulle tarvittavat tiedot check out my admin paneeli setup.
Toivottavasti tästä informaatiosta on hyötyä.
Thanks.
kamilkurczak
11-03-11, 10:06
Kyllä. Voin vahvistaa se minun testi foorumi!
Tämä on vBET bug joten minun täytyy siirtää tätä säiettä osaksi Virheraportointi osassa.
Huomasin, että koodaus ongelma kirjainten ASCII-koodin alla
En voi jäljentää se minun testifoorumi jotta voin korjata sen ilman käsiksi foorumi:)
Yritän löytää paras ratkaisu sinulle.
freddie3218
12-03-11, 06:02
Kyllä. Voin vahvistaa se minun testi foorumi!
Tämä on vBET bug joten minun täytyy siirtää tätä säiettä osaksi Virheraportointi osassa.
Huomasin, että koodaus ongelma kirjainten ASCII-koodin alla
En voi jäljentää se minun testifoorumi jotta voin korjata sen ilman käsiksi foorumi:)
Yritän löytää paras ratkaisu sinulle.
No hyvä uutinen on, että Korjasin ongelman itse. Huono uutinen on, että en voi vahvistaa, että tämä ratkaisu toimii hänen sijaisenaan toimi ... koska se toimii vain minun foorumeilla.
Riippumatta, tässä on uusi toiminto:
function vbet_encodeToSafeUTF8(&$string) {
$string = utf8_decode($string);
return $string;
}
Tämä toiminto muuntaa UTF-8 ISO-8859-1
kamilkurczak
12-03-11, 13:31
Kiitos tästä hyvä uutinen. Aion kokeilla sitä ja vahvista
kamilkurczak
13-03-11, 13:15
hello,
Sinun ratkaisu ei ole hyvä yleensä. Miksi? Tämä työskentelee kirjainten ASCII-koodi, 256 (muunnetaan ja esitetään hyviä), mutta kirjainten ASCII-koodin yli 256 Olen "?" merkkejä.
Joten meidän on yhdistää kaksi ratkaisua yhdessä;)
Esimerkiksi:
function vbet_encodeToSafeUTF8(&$string) {
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);
//decode two byte unicode characters
$string = preg_replace('/([\304-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);
$string = utf8_decode($string);
return $string;
}
tämä rivi:
[\304-\337] määritellä kuin kirjainten ASCII-koodin alle 256 ei varmasti dekoodata minun toiminto mutta vain
utf8_decode
Olen testaamalla sitä still.I en ole täysin varma, että kaikki toimii oikein nyt.
Voit testata sitä myös!
freddie3218
14-03-11, 05:10
Omasta tarkoituksiin, ratkaisu toimii hyvin ... koska olen vain kääntää kahteen langauges ... Englanti ja ranska. Molemmat ovat ISO-8859-1 (latin1) kielellä. Siksi "utf_decode" toiminto toimii hienosti.
Kuitenkin globaali laajuus huomioon ottaen, utf_decode toiminto ei luultavasti toimi muunkielisiä ulkopuolella "latin1".
En ole paljon vBulletin ohjelmoija. Olen kuitenkin tarjoaa yksi ehdotus:
Ehkä käyttäen "jos" lausunto voi sopivaksi tarkoitukseen paremmin, jos ratkaisu ei toimi. Alla olevassa esimerkissä, "translated_language_var" olisi kohde kieltä kääntää.
IE:
$latin1 = array(English,French,Spanish,Italian....etc);
if (in_array(translated_language_var,$latin1)){
$string = utf_decode($string);
}else{
original solution;
}
return $string;
Ehkä käyttäen jotain tällaista olisi varma tapa pitää kaikki turvalliseen ...??? Olen varma, että voisi helposti käyttää tätä pseudo-koodi ja tehdä työtä vBulletin. :)
kamilkurczak
27-03-11, 22:30
ratkaistu - sisällytetään seuraavaan Lyö vapauttamalla
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.