Byla vydána beta verze Linux Mintu 21.3 s kódovým jménem Virginia. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze Cinnamon 6.0 s experimentální podporu Waylandu. Linux Mint 21.3 bude podporován až do roku 2027.
Pavel Bašta se v příspěvku Internetové kšefty podíval na podvody při nákupech a prodejích zboží přes různé bazarové služby. Podělil se o rozhovor, který vedl s jedním podvodníkem. V závěru upozorňuje na databází podvodníků Podvod na bazaru.
Michal Strehovský na svých stránkách píše jak v C# vytvořit "bootovací hru" pro Raspberry Pi, tj. hru, která nepotřebuje operační systém (bare-metal). Zdrojové kódy jsou na GitHubu.
Greg Kroah-Hartman vydal Linux 6.6.6 (LKML) aneb Linux s číslem šelmy. Řeší regresi ve Wi-Fi.
Debian 12.3 byl kvůli chybě v jádře 6.1.64-1 nakonec přeskočen. Vydán byl rovnou Debian 12.4.
Počítačové hře Doom je dnes 30 let. Vydána byla 10. prosince 1993. Zahrát si ji lze také na Internet Archive.
V srpnu společnost HashiCorp přelicencovala "své produkty" Terraform, Packer, Vault, Boundary, Consul, Nomad a Waypoint z MPL a Vagrant z MIT na BSL (Business Source License). V září byl představen svobodný a otevřený fork Terraformu s názvem OpenTofu. Na konferenci Open Source Summit Japan 2023 byl představen (YouTube) svobodný a otevřený fork Vaultu s názvem OpenBao (GitHub).
Na dnes plánované vydání Debianu 12.3 bylo posunuto. V jádře 6.1.64-1 v souborovém systému ext4 je chyba #1057843 vedoucí k možnému poškození dat.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.
#!/usr/bin/perl -w use strict; use DBI; my $new_handle = DBI->connect("dbi:Pg:dbname=rtdb",'rtuser','****'); $new_handle->{pg_enable_utf8}=1; $new_handle->do("SET client_encoding TO 'UTF8'"); my $old_handle = DBI->connect("dbi:mysql:dbname=rtdb",'rtuser','****'); $old_handle->do("SET NAMES 'utf8'"); $old_handle->do("SET CHARACTER SET 'utf8'"); my @tables = qw/Attachments/; foreach my $table (@tables) { print "Migrating $table...\n"; # Find all the rows in the table my $sth = $old_handle->prepare("SELECT * FROM $table") || die $@; $sth->execute || die $@; copy_table_rows($table, $sth); } sub copy_table_rows { my $table = shift; my $sth = shift; while (my $row = $sth->fetchrow_hashref) { my @keys; my @values; my @placeholders; foreach my $key (keys %$row) { push @keys, $key; push @values, $row->{$key}; push @placeholders, '?'; } my $insert = "INSERT into $table (".join(',',@keys).") VALUES (".join(',',@placeholders).")\n"; my $sth= $new_handle->prepare($insert) || die $@; $sth->execute(@values) || die $@ . "\n ".join(",",@values); } } $old_handle->disconnect(); $new_handle->disconnect();Ten skončí s chybou:
DBD::Pg::st execute failed: ERROR: invalid byte sequence for encoding "UTF8": 0xed6d2c HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". at ./rt3-on-mysql-to-pg.pl line 45. Use of uninitialized value $values[2] in join or string at ./rt3-on-mysql-to-pg.pl line 45.A v tabulce je jen prvních zhruba 30 záznamů. Podle chybové hlášky, z dokumentace a pomocí google jsem získal dojem, že problém bude ve špatném kódování vkládaných znaků do databáze Pg. Nemůžu ale přijít na způsob, jak to opravit. Nastavení client_encoding, NAMES ani CHARACTER SET nepomohlo. Co ještě můžu vyzkoušet?
push @values, decode("utf8",$row->{$key});a vkládání zpět do databáze:
$sth->execute(@values) || die $@ . "\n ".encode("utf8",join(",",@values));Skript zpracuje úspěšně 3500 řádků v tabulce (předtím 30). Pak ale opět skončí s chybou:
DBD::Pg::st execute failed: ERROR: invalid byte sequence for encoding "UTF8": 0xfd
use locale; binmode(STDOUT, ":encoding(UTF-8)"); binmode(STDIN, ":encoding(UTF-8)");ani nastavení
LANG=en_US.UTF-8
a LC_ALL=en_US.UTF-8
nepomohlo.
Vypadá to na problém se sloupcem Content. Když ho vyřadím z exportovaných dat, tak se import povede.
my $sth = $old_handle->prepare("SELECT Created,id,TransactionId,Parent,MessageId,Subject,Filename,ContentType,ContentEncoding,Headers,Creator,Created FROM $table) || die $@;
Sloupec Content je v MySQL typu longblob
v PostgreSQL typu bytea
. Takže otázka zní: Jak dostat v perlu data ze sloupce longblob
do sloupce typu bytea
?
Tiskni
Sdílej: