Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 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 bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
SET CHARACTER SET utf8
. Když se podívám jak to dělá phpMyAdmin, tak mi to vypisuje stejný příkaz, který spouštím já, ale stejně: phpMyAdmin funguje OK, můj skript ne. Nějaké nápady? Díky.
Ukládání vypadá nějak takhle:
$url = $_POST["url"]; $code = mb_ereg_replace("&", "&", $_POST["code"]); // $code vypadá např. takto: "Nějaký UTF-8 text ..." mysql_query("UPDATE `web` SET `code` = '$code' WHERE `web`.`url` = '$url' LIMIT 1;") or die(mysql_error());
Řešení dotazu:
set names utf8
mysql_query("SET NAMES 'utf8'"); mysql_query("SET COLLATION_CONNECTION='utf8_czech_ci'"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_results=utf8"); ini_set( 'default_charset', 'UTF-8' );a nic z toho nepomohlo
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
Komentář z 3. února 2009 10:53 na http://us.php.net/manual/en/function.mb-ereg-replace.php
show create database nazev_databaze; show create table nazev_tabulky; show variables like '%char%';Případně vydumpnout tabulku v binární podobě (asi to nějak jde i z phpmyadmina):
mysqldump databaze tabulka --default-character-set=binarya ověřit, v jaké podobě tam jsou data skutečně uložený.
CREATE TABLE `web` ( `url` varchar(128) collate utf8_czech_ci NOT NULL, `title` varchar(128) collate utf8_czech_ci NOT NULL, `code` varchar(10000) collate utf8_czech_ci NOT NULL, PRIMARY KEY (`url`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci COMMENT='html code'
character_set_client utf8 character_set_connection utf8 character_set_database latin1 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/DB je podle všeho latin1... tabulka je ale utf8...
select hex(title) from web;Pokud to vrátí: C5BE6C75C5A56F75C48D6BC3BD, tak je to v DB uloženo správně a problém neni při ukládání ale při prezentaci těch dat.
takový menší seznam v?cí, které bych aktuáln?Myslím, že kdyby s tím pracoval jako s úplně jiným kódováním, zmršilo by se to víc a to je věc která mi vrtá hlavou...
Ak to funguje pod phpMyAdmin, tak mozno Tvoje PHP spojenie na MySQL nepouziva utf8. Skusim znova stastie, toto je clanok, ktory moze pomoct :
Unicode-friendly PHP and MySQL
mysql_set_charset - nastavuje charset pre mysql clienta
mysql_client_encoding - vracia charset pre mysql clienta (pre kontrolu)
UPDATE `web` SET `code` = _utf8'$code' WHERE `web`.`url` = '$url' LIMIT 1;Ještě jednou dík všem.
'SET CHARACTER SET utf8'
if(!mb_internal_encoding("UTF-8"))
die ("FATAL ERROR");
if(!mb_internal_encoding("UTF-8")) die ("FATAL ERROR, encoding"); $url = $_POST["url"]; $code = mb_ereg_replace("&", "&", $_POST["code"]); // $code vypadá např. takto: "Nějaký UTF-8 text ..." mysql_query("SET CHARACTER SET utf8") or die(mysql_error()); mysql_query("UPDATE `web` SET `code` = '$code' WHERE `web`.`url` = '$url' LIMIT 1;") or die(mysql_error());
mysql_pconnect()
místo mysql_connect
.if(!mb_internal_encoding("UTF-8")) die ("FATAL ERROR 02"); $spojeni = mysql_connect(..); mysql_query('SET CHARACTER SET utf8',$spojeni); mysql_query("UPDATE .... '" . mysql_escape_string($code) . "' ....",$spojeni);PS: aspoň
mysql_escape_string
by tam taky bodlo :)Když vložím do DB utf8 text přes admina, při výpisu na utf8 stránku je to oki. Když tam vložím text sám přes PHP, tak jsou tam místo některých znaků otazníky. PHP kód čeho? Jednoduše získám utf8 řetězec přes proměnnou $POST a když ho pomocí PHP echo() vypíšu na utf8 stránku je OK, ale jakmile ho pomocí SQL příkazu update vložím do DB jako utf8, je z toho bordel.... a při dalším výpisu na web je to OK nebo bordel? pokud je to OK tak je špatně nastavený phpMyAdmin.
Tiskni
Sdílej: