Autor Zpráva
Ondrejjj
Profil *
Dnes podruhe preji dobry uz vecer a dobrou noc, potreboval bych poradit se skriptem, jeho kodovani je totiz spravne nastavene, a vse je v poradku ve vsech znamych prohlizecich krome ano cekate spravne IE verze 6, 7 nemam zrovna k dispozici, takze nevim zarucene, zda i v nem, avsak, rad bych se zeptal jak toto vyresit!

Vsechny soubory jsou v nativnim kodovani textu UTF-8 - vse pisi v pspadu, nemel by byt tedy problem, hlavicka html obsahuje meta UTF-8 - co lze jeste vyzkouset, prolezl jsem veskere webmasterske fora zaukoloval google, ale odpoved zadna, prosim pomoc. A pouzivam rovnez Ajax, muze byt problem tedy i tam...
KGW
Profil
No a kde máš ten skript?
Ondrejjj
Profil *
Ty skripty maji dohromady pre 16000 radku :o)
Chamurappi
Profil
Reaguji na Ondrejjje:
rad bych se zeptal jak toto vyresit!
Já ti rád pomůžu.

vse pisi v pspadu, nemel by byt tedy problem
Ano, neměl.

pouzivam rovnez Ajax, muze byt problem tedy i tam
Ano, může.

prosim pomoc
Rád jsem pomohl, jak to jen šlo.
peta
Profil
viz KGW viz Chamurappi
Mnoho jsi toho ke zkoumani neposkytl, mnoho pomoci se ti take nemohlo dostat.

"Ty skripty maji dohromady pre 16000 radku :o)"
Jestlize nekdo napise neco na 16.000 radku, pak bych ho nepocital mezi programatora, protoze ti se snazi psat rozumne a co nejmensi kod, vyuzivat ruzne vkladani. Ano, lze vyuzit script, ktery ti to zaverem slouci do jednoho velkeho souboru. Ale vyvyjena verze muze mit treba 100 souboru. Spatny priklad teto filozofie je elearning Moodle, 5000 souboru. Tady by vubec neskodil nejaky programek na slucovani.

Ajax - Ze zmineneho neni jasne nic. Problem muze byt v PHP, nastaveni header. Problem muze byt v JS, nastaveni Ajax kodovani. Problem muze byt v HTML/PHP, nastaveni souboru, ktery JS ajax vola. (Default se prebira kodovani podle nastaveni serveru, apache a pokud nereknes jinak, muze ti vratit v CZ bezne win-1250). V ruznem prohlizeci se chova ajax ruzne a pri nespravnem nastaveni dojde ke zmene kodovani.
Moznosti je daleno vice. Zkracene to lze shrnout, ze ti je vsechny jmenovat nema smysl a odpoved je pouze Ano.

Totez s ostatnim scriptem. 16.000 radku se da elegantne poresit odkazem na soubor php (pro nahled vysledku) a txt
xxx.php (nahled)
xxx.php.txt (zdroj)
Jestli jsi mel v planu zaplacavat zdrojem 16.000 forum, tak by to chtelo zacit uvazovat o alternativnich resenich.
Ondrejjj
Profil *
16 000 dohromady maji vsechny skripty kterych se to muze tykat je jich asi 20 dohromdy:

Kodovani maji nastavene vsechny html a php soubory / Hlavicka s meta

VSechny soubory js, php, html - kodovani souboru utf-8

Problem tedy nejspise bude v nastaveni kodovani v js - zaujalo me :::ktery JS ajax vola. (Default se prebira kodovani podle nastaveni serveru, apache a pokud nereknes jinak, muze ti vratit v CZ bezne win-1250)::: Jak prosimte toto nastaveni zmenim / pridam

Diky moc, a skripty bohuzel ukazat nemohu... NEjvetsi problem je ze to dela jen v jednom prohlizeci a to ie - neni zde neco od ceho se odrazit???
Leo
Profil
"Diky moc, a skripty bohuzel ukazat nemohu"

Tak to vam poradi jen delfska vestirna. Urcite muzete z kodu udelat vycuc, ktery se bude chovat stejne, a ten zverejnit, ne? Leo
Chamurappi
Profil
Reaguji na Ondrejjje:
vsechny skripty kterych se to muze tykat je jich asi 20 dohromdy
Odmazávej.

Problem tedy nejspise bude v nastaveni kodovani v js - zaujalo me ::: […]
1) JavaScript většinou přebírá kódování stránky, v níž běží, neřekne-li jinak HTTP hlavička Content-Type. Kdyby řekla něco jiného, bude to blbnout všude, ne jen v jednom prohlížeči.
2) XMLHttpRequest (aka AJAX) předpokládá u stahovaných dat vždy UTF-8, neřekne-li jinak HTTP hlavička Content-Type. Kdyby řekla něco jiného, bude to blbnout všude, ne jen v jednom prohlížeči.

Takže je to jasné, někde máš něco nějak asi špatně.

neni zde neco od ceho se odrazit???
Není.
Leo
Profil
Pracujete pri odesilani dat z Ajaxu (klient->server) s escape, encodeURI nebo encodeURIComponent? Leo
Ondrejjj
Profil *
Ano s encodeURIComponent pracuji, dale rovnez s escapedString. Hlavni kodovani ajax mam rovnez uvedene na UTF-8.

Pomoci java scriptu provadim akci zobrazeni textu, ktere vyplivne podle parametru typ zobrazeni hlavni kod.

v html je tedy onload neco text, tento text projde js/ajax a vypise se v danem bloku ktery je potreba.

Nefunguje pouze v IE znamy klasicke ěščřžýáíéúů z databazi jsem to jeste vubec neparoval vse probiha nativne na bazi souboru.

Chamurappi - s tim odmazavanim dobry napad, to u toho stravim dalsi tyden.

Vyvyjim Ajax komponentu pro nejzajimavejsi pouziti, a tohle kodovani mi dela jediny problem, jinak uz je aplikovatelna ve vyvoji je uz pres 3 mesice. :o)
Leo
Profil
"s tim odmazavanim dobry napad, to u toho stravim dalsi tyden"

No mozna lepsi varianta je budovat to od nuly, od minimalni varianty. Leo
Ondrejjj
Profil *
Ja jen badam na msdn proc to dela zrovna v IE, jestli posilaji jeste nejake overovaci hlavicky ci co, protoze mi to opravdu hlava nebere FF funguje 1,5 i 2.0.0.12, opera 9.5 ceska i anglicka ( maji jiste rozdily - nekdy nativne zobrazuji jine kodovani ale funguje to v obou... )
Leo
Profil
"jestli posilaji jeste nejake overovaci hlavicky ci co"

Chcete rict, ze jste se na http hlavicky jeste nedival? Leo
Ondrejjj
Profil *
Chci rict, jestli krome meta hlavicky ie pozaduje jeste neco pri pouziti ajaxu a js. TEd jsem naistaloval jeste safari a hadejte, rovnez to bezi bez problemu.... No asi Na komponentu napisu ze nepodporuje ie a ukoncim to...
Leo
Profil
"No asi Na komponentu napisu ze nepodporuje ie a ukoncim to..."

To jste se nemusel obtezovat vyvojem ne? :-) Leo
Chamurappi
Profil
Reaguji na Ondrejjje:
Vyvyjim Ajax komponentu pro nejzajimavejsi pouziti
Napsal jsi 16 000 řádků a teď najednou narážíš na problém s kódováním?

s tim odmazavanim dobry napad, to u toho stravim dalsi tyden
Pokud na nalezení problematického místa potřebuješ týden, bude chyba v návrhu celé té komponenty.

Ted jsem naistaloval jeste safari a hadejte
Já myslel, že od nás chceš uhodnout, v čem je chyba, a ne, kde všude to funguje.

Tohle nemá smysl. Jediné, cos nám řekl, je, že máš nějaký problém s kódováním. Nevíme kde, takže nevíme proč, nevíme ani, co jsi zkoušel (díval ses na ty HTTP hlavičky nebo ne?). Blbnou znaky vypisované JavaScriptem? Nebo znaky odněkud stažené AJAXem? Nevíme vůbec nic. Většinu chyb souvisejících s kódováním jde opravit a všechny jdou obejít, jenže na to potřebujeme vědět něco víc, než kolik řádků má skript.
Ondrejjj
Profil *
Blbnou znaky : poslane pres javascript a vypsane ajaxem. cesta:::

html onaction: text: javascript vyvola php soubor s typy textu tedy jak ma vypadat ajax box a preda to ajaxu, ten vykresli text na zaklade hlasky z html v boxu podle php...

Snad je to pochopitelne.

ano ted najednou protoze zaverecne testovani vseho ve vsech prohlizecich bylo az ted. prubezne testy jsem delal v ff a opere...
Ondrejjj
Profil *
Spis jsem myslel ze nekoho znaleho napadne proc zrovna ie, zda se mi to jako jasny znak neceho zvlastniho u tohoto prohlizece - takze proc zrovna on... ? krom toho ze to je microsofti prohlizec plny der...
Leo
Profil
"Snad je to pochopitelne."

Neni. Takhle se vyjadruje programator? Leo
Chamurappi
Profil
Reaguji na Ondrejjje:
poslane pres javascript
To znamená přijaté JavaScriptem od PHP na serveru? Nebo poslané JavaScriptem na server přes GET či POST?

vypsane ajaxem
To znamená vypsané přes innerHTML? Nebo přes metody DOM? Nebo snad prohnané nějakou transformací?
AJAX je označení pro pouhou komunikaci klient-server, žádné vypisování.

zda se mi to jako jasny znak neceho zvlastniho u tohoto prohlizece
Ano, je to celé naprosto jasné, až na to, že pořád nic nevíme.

Píšeš, že nefungují znaky „ěščřžýáíéúů“ — co znamená „nefungují“? Ukazuje to čtverečky nebo něco jiného?
Ještě mě závěrem napadla jedna originální otázka: Díval ses na HTTP hlavičky?
Leo
Profil
Udelal jsme maly test, prostinke posilani Ajaxem (metoda GET), vse v utf-8, pricemz kod skriptu ajax-vypis.php, kam se odesilaji data, je:

<?php
header("Content-type: text/html; charset: utf-8",TRUE);
echo $_GET['test'];
?>

Testovaci stranka je na

http://www.leosondra.cz/testy/ajax-kodovani.html

a funguje to vsude (IE 6, Opera 9.24, FF 2), Leo
Leo
Profil
A totez pro xml odpoved:

http://www.leosondra.cz/testy/ajax-kodovani-xml.html

Leo
peta
Profil
Ondrejjj
jak jsem napsal hluboko nahore, bez kodu s odkazu s ukazkou je to ztrata casu.
Vsichni se shodneme, ze mas spatne nastavene kodovani v souborech. Jen ty tvrdis, ze to mas Ok.
Takze se vratim k tomu, co jsem uz rikal a hledej chybu, protoze koukam, ze tu placas nesmysly :)

JS Ajax - kodovani jde nastavit pres overmine, ale pouze pro G prohlizec. Coz s tvym IE nema evidentne nic spolecne.
PHP - xxx.ajaxjs.php - kodovani lze nastavit PHP funkci header() cz.php.net/header ()
HTML PHP - stranka.php - kodovani lze nastavit PHP funkci header() cz.php.net/header ()
(kodovani pres META v HTML se bude pri nastaveni jine header ignorovat, mozna ti tu jinou nastavuje server; jak bylo zminene, podivej se jakou header dostava prohlizec; ja to zjistuji prostym zpusobem, zkusim poprepinat v prohlizeci kodovani)
MySQL - od verze 4.x funguje zmena kodovani pres SET NAMES (idealne hned po pripojeni k databazi, pripadne SET NAMES smazat, pokud tam mas a nejsi si jisty kodovanim), je mozne, ze to chybne tahas uz z databaze
Ondrejjj
Profil *
Diky vsem za rady ani jedna nebyla tou potrebnou na problem jsem jiz prisel - V hloubce ve skriptu bylo schovano jedna formulka - ktera posilala data pres get a overovala validitu "nejaka radoby vychytavka" a tvorila kontrolni soucet tim ale zmrsila puvodni poslane texty takze me se vratila hloupost ve forme cinskych znaku - ie reprezentovalo jako otazniky.

Rad bych podekoval za napady, ktere jiste pomuzou nekomudalsimu, ktery by mel problem s kodovanim.

Chamurappi - privedl jsi me na myslenku s tim get a post - takze zvlast tobe dekuji, neb tohle jsem zacal hledat jako prvni sice to nebylo tam kde bych to ocekaval ale co uz :o)

Leo - Diky moc za snahu a tve testy - diky tobe me napadlo ze to musi fungovat vsude a problem bude nekde jinde viz vyse :o)

peta - I tobe dekuji za snahu, ale jak vidis bez kodu to evidentne jde, a spatne nastavene kodovani v souborech ci databazi jsem opravdu nemel - viz vyse. a vycet nastaveni kodovani se jiste bude hodit nekomu dalsimu, takze i tobe za ne dekuji. :o)


Diky vsem pri obecnem reseni meho problemu a hodne uspechu vsem.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0