abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 13:11 | IT novinky

    Nejvyšší kontrolní úřad (NKÚ) vydal zprávu o finančním řízení prostředků EU v ČR (pdf). Dočíst se lze například, že přes 8 miliard korun na digitální vzdělávání nepřineslo naplnění žádného z prioritních cílů programu. Peněžní prostředky z fondů EU sice byly vynaloženy formálně v souladu s právními předpisy, avšak s minimálním nebo neprokazatelným dopadem na proklamované cíle ve vzdělávání. Na Metodickém portálu RVP.CZ bylo ke konci

    … více »
    Ladislav Hagara | Komentářů: 7
    dnes 11:33 | Nová verze

    Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.

    Ladislav Hagara | Komentářů: 1
    dnes 09:00 | Bezpečnostní upozornění

    Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].

    vencour | Komentářů: 0
    dnes 02:44 | Nová verze

    Byla vydána nová verze 3.2.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 0
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 5
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2974 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext

    5.8.2010 15:19 jben | skóre: 4
    Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext
    Přečteno: 2660×
    Podařilo se mi zprovoznit zobrazování dat z MSSQL serveru (Server2003, SQL2005) přes Freetds 0.82 do Apache/2.2.3 a PHP 5.1.6. na Centos5/2.6.18 Nedaří se mi překonat 2 překážky: 1. nesprávné kódování zobrazených dat nastavení: -MSSQL - UTF-8/Czech_CI_AS -freetds.conf - tds version=8.0 a client charset=UTF-8 -php.ini - default_charset = "utf-8" a mssql.charset = "utf-8" -httpd.conf - AddDefaultCharset Off, -*.php - meta ...charset=utf-8 Asi mi něco uniká, ale prezentovaná data jsou stále ve Windows-1250.

    2. zobrazení pole poznámky (ntext) příklad: $vysledek2 = mssql_query("SELECT TOP 20 ID,SkupZbo,RegCis,Poznamka ....."); while ($zaznam2 = mssql_fetch_array($vysledek2) ): ... Dotaz funguje jen pokud tam není pole Poznamka, které je typu ntext. Jinak vznikne problém s kódováním nebo collation. Předpokládám, že bude nutná nějaká konverze, jen nevím jak se obdobné řeší.

    Můžete někdo poradit, jak oba problémy překonat nebo nasměrovat na obdobné řešení. Předem dík.

    Odpovědi

    5.8.2010 15:26 jben | skóre: 4
    Rozbalit Rozbalit vše Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava

    Tentokrát snad přehledněji.

    Podařilo se mi zprovoznit zobrazování dat z MSSQL serveru (Server2003, SQL2005) přes Freetds 0.82 do Apache/2.2.3 a PHP 5.1.6. na Centos5/2.6.18

    Nedaří se mi překonat 2 překážky:

    1. nesprávné kódování zobrazených dat nastavení:
    -MSSQL - UTF-8/Czech_CI_AS
    -freetds.conf - tds version=8.0 a client charset=UTF-8
    -php.ini - default_charset = "utf-8" a mssql.charset = "utf-8"
    -httpd.conf - AddDefaultCharset Off
    -*.php - meta ...charset=utf-8

    Asi mi něco uniká, ale prezentovaná data jsou stále ve Windows-1250.

    2. zobrazení pole poznámky (ntext) příklad:

    $vysledek2 = mssql_query("SELECT TOP 20 ID,SkupZbo,RegCis,Poznamka .....");
    while ($zaznam2 = mssql_fetch_array($vysledek2) ): ...

    Dotaz funguje jen pokud tam není pole Poznamka, které je typu ntext. Jinak vznikne problém s kódováním nebo collation. Předpokládám, že bude nutná nějaká konverze, jen nevím jak se obdobné řeší.

    Můžete někdo poradit, jak oba problémy překonat nebo nasměrovat na obdobné řešení. Předem dík.

    5.8.2010 16:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava
    Zkuste:
    mssql.charset="UTF-8", případně v php kódu ini_set("mssql.charset", "UTF-8");.
    (UTF-8 velkými písmeny…)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    5.8.2010 17:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava
    Ale abych to doplnil, tak ještě jednou.
    Nepamatuji si to přesně (už je to dýl co jsme s tím dělal a nemám nyní možnost se na to juknout), ale mělo by to být tak jak popisuji v následujícím komentovaném příkladu:
    /* 
     nastavit tyto volby nebo je nastavit v php.ini -------------------
    */
    ini_set( 'mssql.charset',   'UTF-8' ); //charset
    
    /*
     Pokude nebude následující nastaveno, tak texty se normálně oříznou, bez nějaké chyby či varování.
     Jestli se nepletu, tak nenastaveno (či '-1'), znamená jen 4KiB.
    */
    ini_set( 'mssql.textlimit', '65536' ); 
    ini_set( 'mssql.textsize',  '65536' ); 
    
    /*
     ¿Konverze datumů?
    */
    //ini_set( 'mssql.datetimeconvert',  '1 nebo 0' );
    /*
     ------------------------------------------------------------------
    */
    
    $con = mssql_connect(....);
    
    @mssql_query("SET TEXTSIZE 65536", $con); //nastavit před selectem, postačuje 1× za sezení - možná nebude nutné
                                              //asi je to ekvivalentem 'mssql.textsize' - nepamatuji si :(
    
    
    //Pravděpodobně bude nutné u SQL dotazu přetypovat NTEXT a NVARCHAR např.:
    $rs = mssql_query('SELECT TOP 20 ID,SkupZbo,RegCis,CAST(Poznamka AS TEXT)…');
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    5.8.2010 21:35 jben | skóre: 4
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava

    Nápady jsem vyzkoušel, ale úspěch byl jen částečný:

    ad.1. kódování
    • žádná z uvedených možností v kódování nic nezměnila
    • mám spíš pocit, že problém bude někde u freetds, ale nevím , jak to ověřit
    ad.2. ntext
    • změna byla úspěšná, jen jsem to musel trochu upravit:
      $rs = mssql_query('SELECT TOP 20 ID,SkupZbo,RegCis,CAST(Poznamka AS TEXT) AS Poznamka …');
    • původní návrh sice odstranil chybu dotazu, ale nic se nevypsalo

    Přesto dík za pomoc, budu hledat dál.

    6.8.2010 07:44 jben | skóre: 4
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava

    Ještě doplním poslední zjištění k chybě kódování:

    • pokud spustím stejný dotaz přes tsql na konzoli, tak je kódování správné
    • zjistil jsem, že freetds používá freetds.conf ze dvou umístění, podle toho, kdo freetds volá
      • pokud spustím tsql na konzoli, tak použije /etc/freetds.conf
      • pokud spojení inicializuje php, tak použije /usr/local/etc/freetds.conf
      • nicméně oba jsou stejné, takže by to vadit nemuselo, ale je to divné
      • důvod jsem zatím neodhalil, ale může to souviset z různými pokusy prováděnými při zprovozňování mssql-freetds-php komunikace
    6.8.2010 09:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava
    Ad. 'AS' - to jsem už nedopisoval, to jsem nechal na Vás…, důležité je to CAST-ování
    Ad. kódování, jste si jistý, že to není v utf-ku, a že chyba není jen v zobrazení?
    Lze se na tu stránku někde podívat?, nebo wget-em stáhněte tu stránku a hoďte ji sem.

    Zkoušel jste variantu:
    ini_set( 'mssql.charset',   'UTF-8' );// nebo/a v php.ini 
    ini_set( 'mssql.textlimit', '65536' );// nebo/a v php.ini 
    ini_set( 'mssql.textsize',  '65536' );// nebo/a v php.ini 
    $con = mssql_connect(....);
    @mssql_query("SET TEXTSIZE 65536", $con); 
    $rs = mssql_query('SELECT TOP 20 ID,SkupZbo,RegCis,Poznamka…');//bez CAST
    
    ?
    Za předpokladu že texty nejsou dlouhé, jinak zvýšit hodnotu 65536, buď to musí být větší než maximální délka textu, nebo 2× větší než maximální délka textu… „či ja vjem“ :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.8.2010 23:48 jben | skóre: 4
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava
    Příloha:

    Takže úpravy nastavení ini_... nemají žádný vliv, v php.ini už to je zapsáno od minule.

    S tou poznámkou mi to jinak než s CAST nefunguje.

    Ohledně skutečného kódování stránky si samozřejmě jistý na 100% nejsem, ale v rámci svých možností jsem jinou možnost nezjistil. Stránka není nikde vystavená, je to jen na intranetu, přes wget neumím stránku sestavit tak, aby obsahovala i data z db.

    Připojuji něco ze stránky, kterou jsem uložil ve Voknech z FF a ručně pročistil, je tam jen ta část, kolem dat z databáze- ty jsou v té tabulce.

    Jelikož se jedná pouze o dvě pole, ve kterých jsou problematická data, tak jdu hledat něco pro překódování jen konkrétních polí před zobrazením, třeba to bude stačit.

    K tomu kódování mě ještě napadá možnost, že jsem nějak nesprávně zkompiloval php s freetds, jen teď nevím, jak to oveřit.

    Opět dík za trpělivost a rady.

    7.8.2010 00:11 jben | skóre: 4
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava

    Kódování jsem nakonec vyřešil překódováním až v php

    echo "...".$zaznam2["RegCis"]."...";
    echo "...".iconv('CP1250', 'UTF-8', $zaznam2['Nazev1'])."...";
    echo "...".iconv('CP1250', 'UTF-8', $zaznam2['Poznamka'])."...";

    Určitě to není ideální řešení, ale momentálně to splňuje účel, takže to zatím dál zkoumat nebudu.

    9.8.2010 09:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Linux, PHP, Apache - MSSQL, kódování a zobrazení ntext - oprava
    Když to funguje… :)
    Ono to má možná logiku, ten CAST převede ten text asi do default kódování serveru M$SQL, což bude asi 'Windows-1250' a už to tak zůstane.
    Nějak mi stále uniká práce se znakovýma sadama u M$SQL a u M$ obecně :(, ale taky to zkoumat nebudu :).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.