Postgres sorba rendezesi gond

Kezdőlap Fórumok SOS! Bajban vagyok Postgres sorba rendezesi gond

10 bejegyzés megtekintése - 1-10 / 11
  • Szerző
    Bejegyzés
  • #1976723
    admin
    Adminisztrátor

      Az adatbázis definíciónál kellen megadni a kódolást, nem?

      pl.:
      CREATE DATABASE proba WITH ENCODING=’LATIN2′;

      #1976724
      admin
      Adminisztrátor

        Az adatbázis definíciónál kellen megadni a kódolást, nem?

        pl.:
        CREATE DATABASE proba WITH ENCODING=’LATIN2′;
        [align=right][snapback]88315[/snapback][/align]

        Igen, es meg is adtam, hogy UTF-8 legyen.

        #1976725
        admin
        Adminisztrátor

          Igen, es meg is adtam, hogy UTF-8 legyen.
          [align=right][snapback]88358[/snapback][/align]

          pl:

          root – konsole

          # su postgres
          # createdb -E LATIN2 magyarbazis
          # psql magyarbazis

          CREATE TABLE abc (
          nev character varying(25),
          cim character varying(25)
          );

          INSERT INTO abc VALUES (‘a’, ‘b’);
          INSERT INTO abc VALUES (‘á’, ‘f’);
          INSERT INTO abc VALUES (‘z’, ‘õ’);
          INSERT INTO abc VALUES (‘b’, ‘g’);
          INSERT INTO abc VALUES (‘j’, ‘x’);
          INSERT INTO abc VALUES (‘j’, ‘x’);

          SELECT * FROM ABC ORDER BY cim;
          SELECT * FROM ABC ORDER BY név;

          #1976726
          admin
          Adminisztrátor

            M

            #1976727
            admin
            Adminisztrátor

              pl:

              root – konsole

              # su postgres
              # createdb -E LATIN2 magyarbazis
              # psql magyarbazis
              [align=right][snapback]88362[/snapback][/align]

              De nekem mindenkepp UTF-8 kodolas kell, a LATIN2 nem megoldas, ugyanis az adatbazis tablai nem csak magyar nyelvu sorokat tartalmazhatnak, hanem francia, nemet, gorog, stb., aminel eleg sok a magyarnal cifrabb betuk is lehetnek, es ezeket a LATIN2 nem fedi le.

              #1976728
              admin
              Adminisztrátor

                root- konsole

                #mc
                  /etc/init.d/@apache –>>F4

                rügtön az elejére beszúrni:


                export LC_ALL=hu_HU
                export LANG=hu_HU


                [align=right][snapback]88364[/snapback][/align]

                Probaltam, de nekem nem segitett.

                #1976729
                gdavid
                Felhasználó

                  ERROR: Invalid UNICODE character sequence found (0xe10000)

                  nah en ezt kaptam vissza erre:

                  INSERT INTO abc VALUES (‘a’, ‘b’);
                  INSERT INTO abc VALUES (‘á’, ‘f’);
                  INSERT INTO abc VALUES (‘z’, ‘õ’);
                  INSERT INTO abc VALUES (‘b’, ‘g’);
                  INSERT INTO abc VALUES (‘j’, ‘x’);
                  INSERT INTO abc VALUES (‘j’, ‘x’);

                  utf-8 as adatbazisban.
                  mind a psql -e adatbazis
                  mind pedig psql ertelmezoben.

                  #1976730
                  admin
                  Adminisztrátor

                    ERROR:  Invalid UNICODE character sequence found (0xe10000)

                    nah en ezt kaptam vissza erre:
                    utf-8 as adatbazisban.
                    mind a psql -e adatbazis
                    mind pedig psql ertelmezoben.
                    [align=right][snapback]88373[/snapback][/align]

                    Azert mert a shelled is, es a psql ertelmezod is iso-8859-2 kodolasu. En erre irtam azt, hogy a klienst iso-8859-2-kent beallitottam, meg a legelso hozzaszolasban.

                    Magyarul, SET CLIENT_ENCODING TO ‘LATIN2’; parancsot kell kiadni, mielott barmilyen insertet csinalsz. Ebbol a postgres server tudja, hogy a kliensed LATIN2-es encodingot hasznal, es szepen atkonvertalja az menetkozben UNICODE-ra mindazt amit insertelsz, es ugy teszi be az adatbazisba. Aztan lekerdezesnel ugyanezzel kell kezdeni a dolgot, ha nem krixkraxokat akarsz latni az ekezetes karakterek helyett.

                    #1976731
                    gdavid
                    Felhasználó

                      Azert mert a shelled is, es a psql ertelmezod is iso-8859-2 kodolasu. En erre irtam azt, hogy a klienst iso-8859-2-kent beallitottam, meg a legelso hozzaszolasban.

                      Magyarul, SET CLIENT_ENCODING TO ‘LATIN2’; parancsot kell kiadni, mielott barmilyen insertet csinalsz. Ebbol a postgres server tudja, hogy a kliensed LATIN2-es encodingot hasznal, es szepen atkonvertalja az menetkozben UNICODE-ra mindazt amit insertelsz, es ugy teszi be az adatbazisba. Aztan lekerdezesnel ugyanezzel kell kezdeni a dolgot, ha nem krixkraxokat akarsz latni az ekezetes karakterek helyett.
                      [align=right][snapback]88376[/snapback][/align]

                      koszi.

                      es miert van az, hogy weben rogzitett õ,

                      #1976732
                      admin
                      Adminisztrátor

                        Sziasztok!

                        Problemam van a PostgreSQL adatbazis kezelovel. A helyzet az, hogy az ORDER BY rosszul rendezi az oszlopokat abc sorrendbe, ha ekezetes betuket is hasznalok. Tehat igy csinalja: a,b,c, … ,z,á,é, … Ez meg azert nem tul jo, mert ez nem mondhato abc sorrendnek. Tudtok erre valami megoldast? Az adatbazs UTF-8 as, a kliens ISO-8859-2 kodolasu, ha ez szamit. Probaltam a locale-t beallitani hu_HU-ra de nem segitett.

                        Elore is koszi a helpet mindenkinek
                        [align=right][snapback]88311[/snapback][/align]

                        nincs nls_sort nevu parmeter a postgres-ben ?

                        TamsA

                      10 bejegyzés megtekintése - 1-10 / 11
                      • Be kell jelentkezni a hozzászóláshoz.