[MEGOLDVA]php5 ről php 7.0 átkapcsolás, karakter kódolási hiba

Fórumok

Sziasztok!

Itt a nyár op. rendszer frissítések.

Debian 8 ról lett frissítés 9 -re.

Egy wordpress is fut a szerveren.

dpkg -l | grep php alapján feltettem a php7.0 csomagokat lib-apache-t ....

De miután,

a2dismod php5 && a2enmod php7.0 && service apache2 restart

A weboldalon pld a könyv-ből k#đĐnyv lesz ????

Googleztam az php7.0 /...    ini-ben szerkesztve se javult a helyzet !

Találkozott már valaki hasonlóval megtudta oldani ?

Megoldás:

mivel latin1 volt a karakterkódolása a DB-nek

a wp-config.php ba

/** Az adatbázis karakter kódolása */
define('DB_CHARSET', 'latin1');

Köszönöm a segítséget mindenkinek!!!

Hozzászólások

Szerkesztve: 2021. 07. 22., cs – 14:40

A headerben ami kimegy a kliensnek, abban mi van? Nem 100%, hogy a php a ludas.

Innen vettem mit kéne lekérdezni:
https://developer.wordpress.org/reference/functions/bloginfo/

 

select * from wp_options where option_name ='blog_charset';
+-----------+--------------+--------------+----------+
| option_id | option_name  | option_value | autoload |
+-----------+--------------+--------------+----------+
|        31 | blog_charset | UTF-8        | yes      |
+-----------+--------------+--------------+----------+

Ilyet például úgy tudsz elérni, hogy veszed az utf8-at, végrehajtasz rajta egy iso-8859-1 -> utf8 konverziót, és utf8-ként nézed.

$ echo 'világokkal, válogasson kedvére a disztópiák' | iconv -f iso-8859-2 -t utf8
vilĂĄgokkal, vĂĄlogasson kedvĂŠre a disztĂłpiĂĄk

ha adatbazisban latin2 van akkor azt allitsd be a wp-config.php-ban

/** Az adatbázis karakter kódolása */
define('DB_CHARSET', 'utf8mb4');

es ha utf8-as kimenetet akarsz akkor kelleni fog az iconv vagy mbstring php modul hogy a wordpress konvertalni tudja

a php5-el valoszinuleg azert mukodott mert volt valamilyen automatikus konverzio, esetleg a php.ini-ben nezd meg.

de ha nem akarod hogy mindig konvertalni kelljen az adatbazisbol beolvasott adatokat, exportald ki, recode-al konvertald at, allitsd be a fajlban a charsetet es a collation-t unikodosra, importald be

mysqldump adatbazis >adatbazis.sql

recode iso-8859-2..utf-8 adatbazis.sql

sed vagy mcedit vagy ami tetszik: a charset es collate-t modositsd vele hogy kb. ilyen legyen a fajl

DROP TABLE IF EXISTS `wp_commentmeta`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` bigint(20) unsigned NOT NULL DEFAULT 0,
  `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`meta_id`),
  KEY `comment_id` (`comment_id`),
  KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

mysql adatbazis <adatbazis.sql

neked aztan fura humorod van...

ha mar frissites, hanyas a wordpress?

neked aztan fura humorod van...

WordPress 4.7.20

és sajnos ezt irja ki:
Az automatikus WordPress frissítést nem sikerült befejezni - a frissítést újra el kell végezni.

És ha minden igaz akkor a php verzió a ludas benne ezért kéne meglépnem min a php7.0 ami deb 9 LTS alatt sec. frissítést kap. még.
Mit ami nem rég jött:
[SECURITY] [DLA 2708-1] php7.0 security update

Gyakran felmerülnek ilyen kérdések, akár valamilyen FAQ-ot is lehetne belőle csinálni. Persze ne úgy gondoljuk el, hogy készen le van írva, hogy a negyedik sorban az 'x'-et, 'y'-ra kell cserélni, és jó lesz, a hibakeresést saját kezűleg kell megcsinálni.

http://lzsiga.users.sourceforge.net/ekezet.html#S0001

Frissítési stratégiám miatt erőltetem a nem olyan fontos rendszereken a deb9-et. A 9-esen bátrabban konfigurálom fel az automatikus frissítések telepítését, mert már valószínűleg csak sec-ek jönnek.

A 10-nél nagyon figyelem a lev. listás leveleket a debian teams-től, de vannak szerverek amiken csak munkaidő után, (pénteken)  ha lehet kézzel indítom csak el, mert már szívatott meg, pld a squid.

Vagy bénán konfigolom az auto frissitéseket ... ?