PDA

Tingnan ang Buong Bersyon: Lutas Mga punto na hindi pagpapakita ng tama ...



freddie3218
07-03-11, 16:09
Hi.

Ako gumagamit ng vbulletin 4.08.

Ginagamit ko vbet para sa pangunahing dalawang wika ... Ingles at Pranses. Mayroon akong forum wika default na set sa Ingles. Gayunpaman, kapag ang isang Pranses na gumagamit post, pagsasalin ay nagpapakita ng tama sa Ingles. Gayunpaman, sa Pranses ang mga punto huwag ipakita. Sa halip, ito ay nagpapakita tulad nito:


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.

Ito ay dapat ipakita tulad nito:


Dans quelle langue vous allez écrire vos messages. Forum traduira automatiquement vos messages à d'autres utilisateurs langues.

Set up ang aking forum ay upang ipakita ang parehong mga wika bilang ISO-8859-1. Samakatuwid, hindi ako gumagamit ng UTF-8

Gayundin, sinundan ko ang mga tagubilin sa pag-install nang masyadong malapit.

Ang tanging pagbabago na aking ginawa sa vBet ay na ako ay nagbago ang mga flags ng default na gamit ang CSS-engkanto. Gayunpaman, ako ay tumingin sa ang code, at wala ko dapat na epekto sa paraan na ang mga bagay ay ipinapakita.

Kailangan ko i-convert ang aking db sa UTF-8 sa malutas ang problemang ito?

Ang payo Anumang ay appreciated. Salamat. :)

freddie3218
08-03-11, 17:56
Well .... Pinagana ko bawat iba pang mga plugin, at ako pa rin ang parehong problema. Mukhang isang bug sa vbet

kamilkurczak
08-03-11, 19:35
Hello, huwag mong gamitin ang UTF-8 forum at database o hindi?
Kung hindi - ang dapat kong magkaroon ng isang solusyon para sa iyo. Wil ko ihanda ang mga ito at isulat dito.

Kung maaari mong mangyaring ilagay dito url sa thread na may mga isyu na ito.
Salamat

freddie3218
09-03-11, 00:15
Hello, huwag mong gamitin ang UTF-8 forum at database o hindi?
Kung hindi - ang dapat kong magkaroon ng isang solusyon para sa iyo. Wil ko ihanda ang mga ito at isulat dito.

Kung maaari mong mangyaring ilagay dito url sa thread na may mga isyu na ito.
ThanksNo, hindi ako gumamit ng UTF-8 forum o database. Gumagamit ako ng ISO-8859-1.

Maaari mong makita ang problema sa live na sa pamamagitan ng pagtingin sa thread na ito:

$ 1 Ito ay isang pagsubok (http://kokoku.ca/forums/showthread.php?t=418)

Salamat. :)

freddie3218
10-03-11, 01:05
Anumang balita sa kung ano ang nagiging sanhi ito?

kamilkurczak
10-03-11, 10:04
Kumusta,

Ako pagsubok ito sa aking pagsubok forum (sa hindi UTF) at hindi ko upang kopyahin ito ngunit maaari mong subukan ito solusyon.
Mayroon akong isang bagay para sa iyo:
1. bukas, gumawa ng kopya at i-edit ang file na ito:
forum root / nagsasama / vbenterprisetranslator_functions_utils.php
2. sa ito function na mahanap:

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. at komento ang ang lahat ng mga linya nang hindi bumalik tulad ng isang ito:

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. i-save at pagsubok!

ito ay dapat gumagana lamang para sa mga bagong post. lahat ng mga umiiral na mga post na dapat mong i-edit sa pamamagitan ng kamay.
Hindi ko shure na mayroon kang isang ISO forum ngunit maaari mong subukan ito. Kung hindi maganda - mangyari lamang na patungan ang mga pagbabagong ito bu lumang file

freddie3218
10-03-11, 15:30
Hi,

Iyon ay isang magandang subukan. Gayunpaman, hindi ito gumana.

Output ngayon ay nagpapakita ng: ".. Ceci EST un test S'il vous plaà ® t ignorer CE mensahe"

Ang tamang output ay dapat na: "Ceci EST un test S'il vous magpileges ignorer CE mensahe."

Samakatuwid, ako bumalik.

Narito ang isang bagay Napansin ko:

Kapag nagpo-post at pag-edit, ito ay hindi ipakita ang tama. Gayunpaman, kung ako pindutin ang pindutan ng WYSIWYG na editor upang pumunta sa "basic mode", pagkatapos AY ito display tama sa ang WYSIWYG editor. Gayunman, kapag sinusubukan kong i-save ito, ito reverts sa pagpapakita mali muli. Tila na ang WYSIWYG editor ay hindi pag-parse ng mga bagay ng tama bago-save kapag gumagamit ako ng VBET sa isang wikang banyaga, o kapag gumagamit ako ng [lang =] tag. Gayunpaman, kung ako i-post ang isang dayuhan na parirala na hindi gamit ang mga tag [lang = fr], pagkatapos ito ay ipakita tama kapag nagse-save. Kaya ito tila na VBET ay hindi nagpapahintulot ng WYSIWYG editor upang i-parse ng tama bago i-save ... kung na gumagawa ng anumang mga kahulugan.

kamilkurczak
10-03-11, 23:41
mo ang isyu na ito kapag nais mong mag-post sa isinalin na pahina o hindi? mangyaring ilarawan kung ano ang dapat ko magkaroon ng parehong mga resulta sa aking pagsubok forum.

freddie3218
11-03-11, 07:19
mo ang isyu na ito kapag nais mong mag-post sa isinalin na pahina o hindi? mangyaring ilarawan kung ano ang dapat ko magkaroon ng parehong mga resulta sa aking mga forum.I test hindi alam kung maaari mong kopyahin ito sa iyong forum o hindi. Gayunpaman, ito ay kung ano ang mangyayari:

Vbulletin bersyon 4.08
Mayroon akong dalawang wika sa aking site: Ingles at Pranses. Ko pinagana ang lahat ng iba pang mga wika, at lahat ng iba pang mga flags.
Lahat ng Ingles at Pranses ay isinalin sa buong site ng maayos, sa tamang punto. Ang tanging oras ang punto ay hindi maipakita nang maayos ay kapag ang isang tao ay gumagamit ng wikang Pranses at mga post sa Pranses ... ang "wikang Pranses" na pinili sa kanilang mga profile ng gumagamit. Sa kasong ito, VBET ay italaga sa tamang BBcode tag awtomatikong kapag post nila. IE: "[lang = fr]" Subalit, sa sandaling isumite ang kanilang mga post, ang mga punto sa kanilang mga post HINDI lilitaw maayos. Kung sila ay pindutin ang "edit post" na button, sila makita ang kanilang mga post sa advanced WYSIWYG editor wastong ipinapakita (Mayroon akong lahat ng mga account na-set up upang gamitin ang WYSIWYG editor, kahit na sa mabilis na tumugon, sa pamamagitan ng default upang ang lahat ng mga gumagamit ay maaaring maglakip ng mga larawan mula sa kanilang mahirap-drive). Gayunpaman, kung toggle sila ng "editor ng lumipat mode" na button papunta at pabalik, sila makita ang kanilang mga post na lumitaw maayos. Ngunit, kapag sinubukan nilang i-save ang mga pagbabago sa kanilang mga post, ito ay muli display wastong kapag sila ay i-save ang kanilang mga post.

Ang problemang ito ay lamang ang mangyayari kapag ang gumagamit ay ang paggamit ng "wikang Pranses" sa kanilang mga setting ng profile ng gumagamit at pag-post sa wikang Pranses ... kaya paggawa vbet idagdag ang [lang = fr] sa isang post ay awtomatikong.

Ang Aking wika forum default ay Ingles.

Kung kailangan mo upang tingnan ang paligid sa aking forum ... pm sa akin, at ako ay magpapadala sa iyo ng mga kinakailangang impormasyon upang tingnan ang aking admin panel setup.

Umaasa ako na ang impormasyon na ito ay nakakatulong.

Salamat.

kamilkurczak
11-03-11, 10:06
Oo. Ko makukumpirma ito sa aking pagsubok forum!
Ito ay isang vBET bug kaya kailangan ko upang ilipat ang thread na ito sa seksyon ng pag-uulat ng bug.

Napansin ko na may encoding na isyu na may mga titik na may ASCII code sa ilalim ng isang

Ko kopyahin ito sa aking forum sa pagsubok upang maaari kong ayusin ito nang walang access sa iyong forum:)

Ako ay subukan upang mahanap ang pinakamahusay na solusyon para sa iyo.

freddie3218
12-03-11, 06:02
Oo. Ko makukumpirma ito sa aking pagsubok forum!
Ito ay isang vBET bug kaya kailangan ko upang ilipat ang thread na ito sa seksyon ng pag-uulat ng bug.

Napansin ko na may encoding na isyu na may mga titik na may ASCII code sa ilalim ng isang

Ko kopyahin ito sa aking forum sa pagsubok upang maaari kong ayusin ito nang walang access sa iyong forum:)

Ako ay subukan upang mahanap ang pinakamahusay na solusyon para sa iyo.
Well ang mabuting balita ay na ako naayos na ang problema sa aking sarili. Ang masamang balita ay na hindi ko kumpirmahin na ang solusyon na ito ay gumagana bilang isang function ng kapalit ... dahil ito ay gumagana lamang sa aking forum.

Anuman, dito ay ang bagong pagpapaandar:



function vbet_encodeToSafeUTF8(&$string) {

$string = utf8_decode($string);
return $string;
}


Function na ito nagpalit ng UTF-8 sa ISO-8859-1

kamilkurczak
12-03-11, 13:31
salamat para sa magandang balita. Kong subukan ito at kumpirmahin

kamilkurczak
13-03-11, 13:15
Kumusta,
Ang iyong solusyon ay hindi mabuti sa pangkalahatan. Bakit? Na ito ay gumagana na may mga titik na may ASCII code sa ilalim ng 256 (convert at ipinapakita magandang) ngunit ang mga titik na may ASCII code higit sa 256 Mayroon akong "?" palatandaan.

Kaya kailangan namin upang pagsamahin ang aming dalawang mga solusyon sa isa;)

halimbawa:

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;
}

ang linyang ito:
[\304-\337] tukuyin sa mga titik na may ASCII code sa ilalim ng 256 ay hindi decoded sa pamamagitan ng aking function na ngunit lamang sa pamamagitan ng
utf8_decode

Ako pagsubok ito still.I am hindi ganap na siguraduhin na ang lahat gumagana tama ngayon.
Maaari mong subukan ito masyadong!

freddie3218
14-03-11, 05:10
Para sa aking mga layunin, ang solusyon ay gumagana multa ... bilang lamang ako pagsalin sa dalawang langauges ... Ingles at Pranses. Parehong ay ISO-8859-1 (latin1) na mga wika. Samakatuwid ang "utf_decode" function na gumagana ang multa.

Gayunpaman, sa isang pandaigdigang saklaw sa tingnan, ang pagpapaandar ng utf_decode ay maaaring hindi gumana para sa iba pang mga wika sa labas ng "latin1".

Hindi ako karami ng isang programmer vbulletin. Gayunpaman, ako ay nag-aalok ng isa mungkahi:

Marahil na gamit ng "Kung" pahayag ay maaaring angkop sa iyong mga layunin ng mas mahusay na kung ang iyong solusyon ay hindi gumagana. Sa halimbawa sa ibaba, ang "translated_language_var" ay ang patutunguhang wika upang isalin sa.

IE:


$latin1 = array(English,French,Spanish,Italian....etc);

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Marahil na ang paggamit ng isang bagay tulad nito ay magiging isang bang paraan upang panatilihin ang lahat ligtas ...??? Ako bang maaari mong madaling gamitin ang palsipikado code at gawin itong gumagana para sa vbulletin. :)

kamilkurczak
27-03-11, 22:30
malutas - ay isasama sa susunod na relase

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations made by vBET Translator 4.9.99