Oldal: 1 / 2 12 UtolsóUtolsó
Eredmény: 1 - 10 (16) összesen

Téma: Karakterkodólási gondok

  1. #1
    WordPress Fan attila1984 logója
    Csatlakozott
    09-02-20
    Hozzászólás
    789
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás Karakterkodólási gondok

    Szeretnék egy kis segítséget kérni.Van egy php kód ami generál html oldalakat.Ezzel az a problémám,hogy nekem utf-8 kódolással kellene a html oldal és nem tudom hogyan lehetne ezt megoldani.
    Ez a php kód:
    PHP kód:
    <?php
    class Page{
        
        function 
    Page()
        {
            
        }
        
        var 
    $autoTransform=true;
        var 
    $isBlank=false;
        var 
    $templateFile="template.html";
        var 
    $templateHTML="";
        var 
    $pageHTML="";
        var 
    $printMode false;
        var 
    $arrElements=array("title","menu","content","keywords","description");
        var 
    $arrElementsHTML=array();
        var 
    $templateID=0;
        var 
    $arrPage;
        
        function 
    Load(){
            if(
    $this->templateHTML==""){
                
    $this->templateHTML=join("",file($this->templateFile));
            }
        }
        
        function 
    LoadPageData(){
            
    $this->arrElementsHTML["title"]="my title";
            
    $this->arrElementsHTML["menu"]="<img src=flimages/menu.gif width=540 height=20 border=0>";
            
    $this->arrElementsHTML["content"]="my data";
        }
        
        function 
    LoadPageDataMySQL($id,$lang){
        
            
    $this->arrPage=DataArray("pages","id=$id");
            

                
            
    $this->arrElementsHTML["title"]=stripslashes($this->arrPage["name_".$lang]);
            
            
    $this->arrElementsHTML["content"]=stripslashes($this->arrPage["html_".$lang]);
            
    $this->arrElementsHTML["keywords"]=stripslashes($this->arrPage["keywords_".$lang]);
            
    $this->arrElementsHTML["description"]=stripslashes($this->arrPage["description_".$lang]);
            
        }
        
        
        function 
    LoadPageDataMySQLByPageParam($page){
        
            list(
    $lang,$link)=explode("_",urldecode($page),2);
            
            
    $this->arrPage=DataArray("pages","link_".$lang."='".$link."'");
            
            if(!isset(
    $this->arrPage["name_".$lang]))
            {
                if(!
    $this->isBlank)
                {
                    if(
    get_param("r") != "")
                    {
                        die(
    "<script>alert('There is no default page set!');</script>");
                    }
                    else
                    {
                        
    header("Location: index.php?r=1");
                    }
                }
            }
                
            
    $this->arrElementsHTML["title"]=stripslashes($this->arrPage["name_".$lang]);
            
    $this->arrElementsHTML["keywords"]=stripslashes($this->arrPage["keywords_".$lang]);
            
    $this->arrElementsHTML["description"]=stripslashes($this->arrPage["description_".$lang]);
            
            
    $this->arrElementsHTML["content"]=stripslashes($this->arrPage["html_".$lang]);
            
    $this->templateID $this->arrPage["template_id"];
            
        }
        
        function 
    Transform()
        {
            global 
    $mod;
        
            if(
    $this->printMode)
            {
                    
    $this->pageHTML=$this->arrElementsHTML["content"];
            }
            else
            {
                
                
    $this->pageHTML=$this->templateHTML;
                foreach(
    $this->arrElements as $element)
                {
                
                                if(isset(
    $mod) && $element == "content")
                                {
                                    continue;
                                }
                                
                                
    $this->pageHTML=str_replace
                                
    (
                                    
    "<wsa ".$element."/>",
                                    
    $this->arrElementsHTML[$element],
                                    
    $this->pageHTML
                                
    );
                }        
                
                
                
    $this->pageHTML=str_replace("../image.php?id=","image.php?id=",$this->pageHTML);
                
                
                global 
    $WEBSITE_MULTILANGUAGE;
                
                if(
    $WEBSITE_MULTILANGUAGE)
                {
                    
    $this->pageHTML=str_replace(
                                                    
    "<wsa languages_menu/>",
                                                    
    GenerateUILanguagesMenu($this->arrPage["id"]),
                                                    
    $this->pageHTML
                                                
    );
                }
                
                if(
    aParameter(60) == "NO")
                {
                
                
    $this->pageHTML=str_replace(
                                                    
    "</head>",
    "<style>
    td{font-family:"
    .aParameter(61).";font-size:".aParameter(62).";color:".aParameter(63)."}
    a:link{color:"
    .aParameter(64)."}
    a:visited{color:"
    .aParameter(65)."}
    a:hover{color:"
    .aParameter(66)."}
    h1,h2,h3,h4,h5,h6{color:"
    .aParameter(67)."}
    </style></head>"
    ,
                                                    
    $this->pageHTML
                                                
    );
                }
                
            }
                
        }
        
        function 
    TransformEditable(){
            
            if(
    $this->printMode)
            {
                    
    $this->pageHTML=$this->arrElementsHTML["content"];
            }
            else
            {
                    
    $this->pageHTML=$this->templateHTML;
                    
                    
                    
                    foreach(
    $this->arrElements as $element){
                    
                        if(
    $element=="title"||$element=="menu"){
                            
    $this->pageHTML=str_replace(
                                                            
    "<wsa ".$element."/>",
                                                            
    "[".strtoupper($element)."]",
                                                            
    $this->pageHTML
                                                        
    );
                        }
                        else{
                            
    $this->pageHTML=str_replace(
                                                            
    "<wsa ".$element."/>",
                                                            
    "<div id=\"DIV".$element."\" contenteditable class=\"editableDIV\">".
                                                            
    $this->arrElementsHTML[$element]
                                                            .
    "</div>",
                                                            
    $this->pageHTML
                                                        
    );
                        }
                    }
            }        
        }
        
        function 
    Refresh(){
            
    $this->Load();
            
    $this->LoadPageData();
            
    $this->Transform();
        }
        
        function 
    HTML(){
            echo 
    $this->pageHTML;
        }
        
        function 
    Render(){
            if(
    $this->autoTransform){
                
    $this->Load();
                
    $this->LoadPageData();
                
    $this->Transform();
            }
            echo 
    $this->pageHTML;
        }
        
        function 
    MakeEditable(){
                
    $this->Load();
                
    $this->LoadPageData();
                
    $this->TransformEditable();
                echo 
    $this->pageHTML;
        }
        
    }
    ?>




  2. #2
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> a head-be.

    A PHP az karakterkódolástól függetlenül működik, ha jól tudom. HTML-ben kell állítani a karakterkódolást.



  3. #3
    Törzsvendég
    Csatlakozott
    08-12-06
    Hozzászólás
    104
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Kedves Attila1984!

    Elsőre, a template.html fájl <header> részébe írd be, hogy:
    Kód:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Az sem árt, ha a programodban is uft-8 HTTP fejlécet küldesz ki:
    Kód:
    header("Content-type: text/html; charset=UTF-8");
    Ha adatbázist is használsz, ahhoz is utf-8 illesztéssel kapcsolódj.

    Üdvözlettel
    kjaron



  4. #4
    WordPress Fan attila1984 logója
    Csatlakozott
    09-02-20
    Hozzászólás
    789
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Köszöm a válaszaitokat,de sajnom nem igazán jó így.Tegnap óta küzködök nem tudom mi lehet.Az adatbázisban és ahol tudtam mindent átállítottam már ztf-8-ra.

    Elsőre, a template.html fájl <header> részébe írd be
    ezzel az a baj,hogy nincs template.html fájl csak mikor az oldal betöltődik.

    Ezért gondolom,hogy ez a php kód rakja össze az oldalt az adatbázisból és amit létrehoz html fájlt azt kellene utf-8-ra állitani,de ezt szerintem csak a fenti kódba lehetne belevenni valahogy.Az a baj,hogy én nem értek már ihy komolyabban a php-hoz


    Utoljára módosítva: attila1984 által : 2010-10-24 17:44

  5. #5
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Idézet attila1984 eredeti hozzászólása Hozzászólás megtekintése
    ezzel az a baj,hogy nincs template.html fájl csak mikor az oldal betöltődik.
    a display_errors be van kapcsolva? ha igen, akkor kell ilyen fájlnak lennie, mert másképpen hibát dobna ennél a sornál:
    PHP kód:
    $this->templateHTML=join("",file($this->templateFile)); 



    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Github Rake tutorial
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  6. #6
    WordPress Fan attila1984 logója
    Csatlakozott
    09-02-20
    Hozzászólás
    789
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Én pedig már átnéztem a fájlokat is és az adatbázist is.És ezért gondoltam arra,hogy ezt a html fájlt a php hozza létre az adatbázisban található adatok alapján



  7. #7
    Chrome Ball Netallica logója
    Csatlakozott
    07-10-10
    Hely
    Győr
    Hozzászólás
    1.503
    Begyűjtött 44 köszönetet
    21 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    A fájlokat a szövegszerkesztőben is UFT-8 kódolással mentsed el, lehetőleg BOM nélkül, plusz ezt próbáld ki a php fájl elején:

    Kód:
    <?php
    header('Content-Type: text/html; charset=utf-8');
    ?>
    Talán segít.



  8. #8
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Idézet attila1984 eredeti hozzászólása Hozzászólás megtekintése
    Én pedig már átnéztem a fájlokat is és az adatbázist is.És ezért gondoltam arra,hogy ezt a html fájlt a php hozza létre az adatbázisban található adatok alapján
    pedig léteznie kell a file-nak, mert beolvassa. a header ebbe a függvénybe rakd be, de a html file-ban a meta ezt felülirja, ha van.
    PHP kód:
    function Render(){ 
            if(
    $this->autoTransform){ 
                
    $this->Load(); 
                
    $this->LoadPageData(); 
                
    $this->Transform(); 
            } 
            
    header('Content-Type: text/html; charset=utf-8');
            echo 
    $this->pageHTML
        } 




  9. #9
    WordPress Fan attila1984 logója
    Csatlakozott
    09-02-20
    Hozzászólás
    789
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Köszönöm a segítségét mindenki! Igaz nem bírtam megoldani a problémát,de mostmár feladom mára.



  10. #10
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: Karakterkodólási gondok

    Amikor megnyitod a lapot FF ben állitsd át UTF-8 ra (View - Character - Encoding és itt UFT-8 ) ha az oldal olvasható akkor UTF re kell állítani minden ha meg nem akkor valmi másra.



Oldal: 1 / 2 12 UtolsóUtolsó

A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •