Loading ...
Sorry, an error occurred while loading the content.
 

ordigado en mysql por Esperanto

Expand Messages
  • Luiz Portella
    Saluton, karaj, en www.pentuvio.com oni rigardas en la liva flanko kategoriojn. Tamen Ĉemizoj kaj Ĵurnalo venas post Vortaroj... Jen la kodo kiu zorgas pri
    Message 1 of 7 , Dec 12, 2008
      Saluton, karaj,

      en www.pentuvio.com oni rigardas en la liva flanko
      kategoriojn. Tamen Ĉemizoj kaj Ĵurnalo venas post
      Vortaroj...

      Jen la kodo kiu zorgas pri tio:

      order by cd.categories_name

      Kiel eblas korekti tion? Mi ne povas ordigi per
      numero ligita al nomo, ĉar la retbutiko funkcias
      ne nur en Esperanto (ĝi estas en la Portugala, kaj
      baldaŭ en la Angla).

      Nu, mi povus krei vicon de numero, kiu ligas al
      kategoria nomo, laŭ la lingvo, kaj ordigi per
      ili (laŭ la lingvo), tamen tio ne estas la plej
      facila vojo...

      Dankon por via respondo,
      Luiz
    • Ary Borenszweig
      Saluton kara! Ŝajnas ke jam ekzistas esperanto kodo por tio. Almenaŭ serĉante per Guglo esperanto orde by mysql mi trovis tiun paĝon:
      Message 2 of 7 , Dec 12, 2008
        Saluton kara!

        Ŝajnas ke jam ekzistas "esperanto" kodo por tio. Almenaŭ serĉante per Guglo
        "esperanto orde by mysql" mi trovis tiun paĝon:

        http://lists.mysql.com/internals/29663

        kiu diras:

        ChangeSet
        > 1.1966 05/09/12 19:35:50 bar@stripped +5 -0
        > Many files:
        > Adding esperanto collation
        >

        Mi supozas ke vi komprenas tion ĉar vi estas programisto... ;-)

        Do verŝajne vi devas ŝanĝi la kodigon de via datumbazo al
        "utf8_esperanto_ci".

        Amike,
        Ary

        2008/12/13 Luiz Portella <lfpor@...>

        > Saluton, karaj,
        >
        > en www.pentuvio.com oni rigardas en la liva flanko
        > kategoriojn. Tamen Ĉemizoj kaj Ĵurnalo venas post
        > Vortaroj...
        >
        > Jen la kodo kiu zorgas pri tio:
        >
        > order by cd.categories_name
        >
        > Kiel eblas korekti tion? Mi ne povas ordigi per
        > numero ligita al nomo, ĉar la retbutiko funkcias
        > ne nur en Esperanto (ĝi estas en la Portugala, kaj
        > baldaŭ en la Angla).
        >
        > Nu, mi povus krei vicon de numero, kiu ligas al
        > kategoria nomo, laŭ la lingvo, kaj ordigi per
        > ili (laŭ la lingvo), tamen tio ne estas la plej
        > facila vojo...
        >
        > Dankon por via respondo,
        > Luiz
        >
        >


        [Non-text portions of this message have been removed]
      • Luiz Portella
        ... Ary, Mi ne scias, kiam la servilo havos sufiĉe freŝan version de MySql... Tamen en mia maŝino eblis ŝanĝi. mi ŝanĝis de latin1_swedish_ci al
        Message 3 of 7 , Dec 12, 2008
          -- Ary Borenszweig skribis:

          >Do verŝajne vi devas ŝanĝi la kodigon de via datumbazo al
          >"utf8_esperanto_ci".

          Ary,

          Mi ne scias, kiam la servilo havos sufiĉe freŝan version
          de MySql... Tamen en mia maŝino eblis ŝanĝi.

          mi ŝanĝis de latin1_swedish_ci al utf8_esperanto_ci
          la tabelon categories_description

          kaj el kampoj
          1- categories_id
          2- language_id
          3- categories_name

          la kampon categories_name.
          Ial la afero ne funkcias. Nun la ordo estas:
          Ĵurnalo; Ĉemizoj; Diversaĵoj ...

          MySQL 5.0.67-1 (en mia maŝino).
          Hmmm, mi povas atendi kiam versio 5 venos al servilo de
          pentuvio.com, tamen se oni scias pri alia vojo...

          Dankon pro via helpo, Ary

          Luiz

          >2008/12/13 Luiz Portella <lfpor@...>
          >
          >> Saluton, karaj,
          >>
          >> en www.pentuvio.com oni rigardas en la liva flanko
          >> kategoriojn. Tamen Ĉemizoj kaj Ĵurnalo venas post
          >> Vortaroj...
          >>
          >> Jen la kodo kiu zorgas pri tio:
          >>
          >> order by cd.categories_name
          >>
          >> Kiel eblas korekti tion? Mi ne povas ordigi per
          >> numero ligita al nomo, ĉar la retbutiko funkcias
          >> ne nur en Esperanto (ĝi estas en la Portugala, kaj
          >> baldaŭ en la Angla).
          >>
          >> Nu, mi povus krei vicon de numero, kiu ligas al
          >> kategoria nomo, laŭ la lingvo, kaj ordigi per
          >> ili (laŭ la lingvo), tamen tio ne estas la plej
          >> facila vojo...
          >>
          >> Dankon por via respondo,
          >> Luiz
        • Bertilo Wennergren
          ... Atentu, ke tia shangho ne estas facila afero. Oni devas zorgege rekodi la enhavon de la tabeloj. Depende de la stato de la originaj tabeloj, tio povas esti
          Message 4 of 7 , Dec 13, 2008
            Luiz Portella skribis:

            > -- Ary Borenszweig skribis:

            >> Do verŝajne vi devas ŝanĝi la kodigon de via datumbazo al
            >> "utf8_esperanto_ci".

            > Mi ne scias, kiam la servilo havos sufiĉe freŝan version
            > de MySql... Tamen en mia maŝino eblis ŝanĝi.

            > mi ŝanĝis de latin1_swedish_ci al utf8_esperanto_ci
            > la tabelon categories_description

            Atentu, ke tia shangho ne estas facila afero. Oni devas
            zorgege rekodi la enhavon de la tabeloj. Depende de la
            stato de la originaj tabeloj, tio povas esti malfacilega
            afero. Se en la originaj tabeloj estas Unikodaj datumoj,
            sed la tabeloj estas indikitaj kiel ne-Unikodaj, tio povas
            ech esti danghera shangho, char la datumoj povas detruighi,
            almenau parte. Tia shajn-Unikoda konservado de datumoj
            bedaurinde estas tre ofta.

            Necesas unue konverti la tekstajn datumojn al duuma
            (neteksta) formato, kaj poste transformi ghin al vera
            Unikoda teksto. Se en la originaj datumoj ie estas fushaj
            bitokoj (neeblaj UTF-8-aj bitokosinsekvoj), tiam la resto
            de la datumoj (post la fushaj bitokoj) povas tute malaperi.

            Mi do konsilas unue tre zorge informighi pri chiuj detaloj
            kaj komplikajhoj antau ol entrepreni ion ajn. Kaj nepre faru
            sekurecajn kopiojn de la origina netushita materialo.

            --
            Bertilo Wennergren <http://bertilow.com>
          • Luiz Portella
            ... Ja, la datumoj estis UTF-8a, tamen mia facila riparo ne helpis, eĉ se la datumoj plu estis UTF-8 kaj la kvalito iris al utf8_esperanto_ci... Tiam
            Message 5 of 7 , Dec 13, 2008
              -- Bertilo Wennergren skribis:
              >Luiz Portella skribis:
              >
              >> -- Ary Borenszweig skribis:
              >
              >>> Do verŝajne vi devas ŝanĝi la kodigon de via datumbazo al
              >>> "utf8_esperanto_ci".
              >
              >> Mi ne scias, kiam la servilo havos sufiĉe freŝan version
              >> de MySql... Tamen en mia maŝino eblis ŝanĝi.
              >
              >> mi ŝanĝis de latin1_swedish_ci al utf8_esperanto_ci
              >> la tabelon categories_description
              >
              >Atentu, ke tia shangho ne estas facila afero. Oni devas

              Ja, la datumoj estis UTF-8a, tamen mia facila riparo ne
              helpis, eĉ se la datumoj plu estis UTF-8 kaj la "kvalito"
              iris al utf8_esperanto_ci...

              Tiam Ĵurnalo kaj Ĉemizo venis antaŭ Diversaĵoj, kaj
              ĉiuj vortoj bone aspektis.

              Do mi decidis provi la verŝajne ĝustan vojon.

              >zorgege rekodi la enhavon de la tabeloj. Depende de la

              Tio ne estas la plej malfacila afero. Almenaŭ mi
              forte fidas iconv

              Mi kreis sekurkopion en ebena teksto kaj elŝutis tion,
              ĝi ne estis plene UTF-8a ĉar foje venas informoj el
              alia entrepreno ol pentuvio, tio okazas je vendo per
              kreditkarto. Mi faris tion:

              - :%s/Autorização/Autorizazwyx/g
              - konservado
              - :%s/Autorizazwyx/Autorização/g

              Ial :%s/[^M]$// fuŝis... tamen per gvim:
              - /\V\C^M

              Post tio mi eĉ faris:

              $ iconv -f UTF-8 -t UTF-8 2.sql -o 3.sql
              Tiel laŭ mi la afero estas solvita, ĝis ĉi tie.

              >stato de la originaj tabeloj, tio povas esti malfacilega
              >afero. Se en la originaj tabeloj estas Unikodaj datumoj,
              >sed la tabeloj estas indikitaj kiel ne-Unikodaj, tio povas
              >ech esti danghera shangho, char la datumoj povas detruighi,
              >almenau parte. Tia shajn-Unikoda konservado de datumoj
              >bedaurinde estas tre ofta.

              UTF-8 ĉe latin1_swedish_ci
              Tiel estas ĉe mi, pentuvio.com, tamen la afero funkcias
              malgraŭ la problemo de ordigo. Nu, ordigo por kategorioj
              estus riparebla per rimedo krei vicon laŭ lingvo ktp,
              tamen la sama solvo por ordigo de la varoj estus
              freneziga.

              Do ĉe mi, ĉe mia labora maŝino, mi provis ordigi la
              aferon por iam fari la samon ĉe servilo kie estas
              pentuvio.com

              >Necesas unue konverti la tekstajn datumojn al duuma
              >(neteksta) formato, kaj poste transformi ghin al vera
              >Unikoda teksto. Se en la originaj datumoj ie estas fushaj
              >bitokoj (neeblaj UTF-8-aj bitokosinsekvoj), tiam la resto
              >de la datumoj (post la fushaj bitokoj) povas tute malaperi.

              hmm, tamen je mispaŝo oni reprenu la sekurkopion kaj
              refaru la vojon per ĝustaj paŝoj.

              >Mi do konsilas unue tre zorge informighi pri chiuj detaloj
              >kaj komplikajhoj antau ol entrepreni ion ajn. Kaj nepre faru
              >sekurecajn kopiojn de la origina netushita materialo.

              La malfacila paŝo estas...

              1- mi nuligis la datumbazon,
              2- per phpmyadmin (phpMyAdmin - 2.11.8.1deb5)
              mi kreis ĝin kun utf8_esperanto_ci
              (ĝi estis malplena)
              3- $ mysql --default_character_set=utf8 pentuvio < 3.sql -p

              La tria paŝo estas la fuŝa/malfacila, mi pensas.
              mysql -h host -u username -p password --default_character_set=utf8 database < file.sql

              Ne eblas fari tion per phpmyadmin ĉar la dosiero estas
              ĉ. 4Mb, ĝi superas la limon.

              Post tia rekreado de la datumbazo, je la unua fojo mi
              legas la datumojn per phpmyadmin
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              kaj la vortoj estas belaj "Lingüística" kaj "Ĉemizoj".

              Do mi pensis, ke la afero funkcios, sed ne!!!

              Pri la butiko:
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              (por ambaŭ lingvoj, pt kaj eo)

              Parto de la teksto venas el dosieroj php, tio bone aspektas.
              Tio, kio venas el MySql fuŝas:

              - en tabeloj nur kun Portugalaj tekstoj (á, à, â, â, ç ktp)
              mi riparis per utf8_encode()

              - en tabeloj kun Esperantaj tekstoj oni legas ? anstataŭ
              ĉapelita litero. (á kaj aliaj en sama tabelo bone aspektas)

              - ?emizoj (tie estas ?) venas antaŭ Diversa?oj
              - ?urnalo venas post Filozofio
              tamen mirinde la teksto malbone aspektas, eĉ se ĝi bone
              aspektas en phpmyadmin, kaj ĉi tie utf8_encode() ne helpas.

              Kaj nun, kiu povus salvi min????

              Nu, ĉe pentuvio.com nenio ŝanĝis, miaj provoj estas en
              mia komputilo.

              Dankon pro viaj konsiloj,
              Amike, luiz

              ps.: ĉu vi konis la eblon (jam de preskaŭ 2 jaroj)
              http://www.pentuvio.com/dezirlistoj.php?public_id=1

              (mi ne petas, aŭ volas diskonigi ĝuste la mian,
              kiu ne plene estas vera, mi volas diskonigi la
              eblon) Nu, ĉe Amazon.com estas amaso da varo,
              tamen ĉe pentuvio... Ĝis nun neniu diskonigi la
              sian, krom
              http://www.pentuvio.com/kelkaj_dezirlistoj.php

              ps.: Gratulon al ELNA kiu modernigis sian retbutikon
              http://esperantousa.hypermart.net/retbutiko/
              ĝi estas kia Pentuvio, OsCommerce

              Mi esperas, ke bladaŭ la samo okazu al FEL!!!
              www.retbutiko.net
            • Bertilo Wennergren
              ... Mi pensas, ke vi devas aparte ordoni al MySQL, ke ĝi sendu al vi la datumojn en Unikoda formo. Tion vi devas fari ĉiufoje, kiam vi malfermas konekton al
              Message 6 of 7 , Dec 13, 2008
                Luiz Portella skribis:

                > Parto de la teksto venas el dosieroj php, tio bone aspektas.
                > Tio, kio venas el MySql fuŝas:
                >
                > - en tabeloj nur kun Portugalaj tekstoj (á, à, â, â, ç ktp)
                > mi riparis per utf8_encode()
                >
                > - en tabeloj kun Esperantaj tekstoj oni legas ? anstataŭ
                > ĉapelita litero. (á kaj aliaj en sama tabelo bone aspektas)
                >
                > - ?emizoj (tie estas ?) venas antaŭ Diversa?oj
                > - ?urnalo venas post Filozofio
                > tamen mirinde la teksto malbone aspektas, eĉ se ĝi bone
                > aspektas en phpmyadmin, kaj ĉi tie utf8_encode() ne helpas.

                > Kaj nun, kiu povus salvi min????

                Mi pensas, ke vi devas aparte ordoni al MySQL, ke ĝi sendu
                al vi la datumojn en Unikoda formo. Tion vi devas fari
                ĉiufoje, kiam vi malfermas konekton al la datumbazo en via
                PHP-kodo. Necesas sendi la jenan SQL-komandon antaŭ ol
                sendiĝas ĉiuj aliaj petoj al la datumbazo:

                set names utf8

                Kiam MySQL sendas petitajn datumojn, ekzemple al PHP-programo,
                ĝi uzas la defaŭltan signokodon. Ofte ĝi estas alia ol la
                signokodo de la uzataj tabeloj. Tiam MySQL rekodas la datumojn
                laŭ la defaŭlta signokodo, kaj tiam signoj, kiuj ne eblas en
                la defaŭlta signokodo estas anstataŭigataj per demandosignoj.
                Per la komando "set names utf8" oni diras al MySQL, ke ĝi uzu
                "utf8"-on en la sendado.

                Alia eblo estas ŝanĝi la defaŭltan signokodon de la
                datumbazo al utf8. La defaŭlta signokodo estas io alia ol la
                signokodoj uzataj de la unuopaj tabeloj.

                Bonan ŝancon!

                --
                Bertilo Wennergren <http://bertilow.com>
              • Luiz Portella
                ... savi, savi! ... ĉio, ĉio funkcias glate :) Koran dankon!!! ... mi pensis, ke tio estis utf-8, tamen ... ne ĉiam la php-aĵo funkcias en sama servilo
                Message 7 of 7 , Dec 13, 2008
                  -- Bertilo Wennergren skribis:
                  >Luiz Portella skribis:
                  >
                  >> Parto de la teksto venas el dosieroj php, tio bone aspektas.
                  >> Tio, kio venas el MySql fuŝas:
                  >>
                  >> - en tabeloj nur kun Portugalaj tekstoj (á, à, â, â, ç ktp)
                  >> mi riparis per utf8_encode()
                  >>
                  >> - en tabeloj kun Esperantaj tekstoj oni legas ? anstataŭ
                  >> ĉapelita litero. (á kaj aliaj en sama tabelo bone aspektas)
                  >>
                  >> - ?emizoj (tie estas ?) venas antaŭ Diversa?oj
                  >> - ?urnalo venas post Filozofio
                  >> tamen mirinde la teksto malbone aspektas, eĉ se ĝi bone
                  >> aspektas en phpmyadmin, kaj ĉi tie utf8_encode() ne helpas.
                  >
                  >> Kaj nun, kiu povus salvi min????

                  savi, savi!

                  >Mi pensas, ke vi devas aparte ordoni al MySQL, ke ĝi sendu
                  >al vi la datumojn en Unikoda formo. Tion vi devas fari
                  >ĉiufoje, kiam vi malfermas konekton al la datumbazo en via
                  >PHP-kodo. Necesas sendi la jenan SQL-komandon antaŭ ol
                  >sendiĝas ĉiuj aliaj petoj al la datumbazo:
                  >
                  > set names utf8

                  ĉio, ĉio funkcias glate :)

                  Koran dankon!!!

                  >Alia eblo estas ŝanĝi la defaŭltan signokodon de la
                  >datumbazo al utf8. La defaŭlta signokodo estas io alia ol la
                  >signokodoj uzataj de la unuopaj tabeloj.

                  mi pensis, ke tio estis utf-8, tamen ... ne ĉiam la
                  php-aĵo funkcias en sama servilo mySql, do la unua
                  solvo estas pli singarda vojo.

                  Nu, nun mi povas postuli MySql 5 por la servilo
                  de pentuvio.com

                  >Bonan ŝancon!

                  Dankon denove pro via helpo.

                  Amike, luiz
                Your message has been successfully submitted and would be delivered to recipients shortly.