Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP Tallennus tietokantaan muuttaa ääkköset kysymysmerkeiksi

kekke [02.03.2022 21:42:01]

#

Moi,

Operaattorin php 5.5 -> php 7.1 päivityksen jälkeen tietokantaan tallentavassa php-ohjelmassa menivät ääkköset sekaisin.


php.ini:ssa vaihdettiin default_charset=utf8, joka korjasi ongelman selaimessa, mutta kun tiedot tallentaa kantaan(MariaDB) tallentuvat ääkköset kysymysmerkkeinä (?)

Database language on utf8_swedish_ci

Jos php header muutetaan UTF-8 muotoon niin ääkköset menevät sekaisin jälleen.
Olisiko kenelläkään vinkkiä ongelman korjaamiseksi?

index.php alku:

<?php session_start(); ob_start(); ?>

<?php header("Content-Type: text/html; charset=ISO-8859-1"); echo '<?xml version="1.0" encoding="iso-8859-1"?>'; ?>
<!DOCTYPE html>

  <head>

<html lang="fi">

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Metabolix [04.03.2022 09:42:55]

#

Luultavasti olet unohtanut laittaa tietokantayhteyteen oikean merkistön. Esimerkiksi PDO:ta käyttäessä voit lisätä yhdistämiseen parametrin charset=utf8. Lisäksi sama UTF-8 pitää olla käytössä kaikissa kohdissa eli otsikoissa (PHP:n asetuksissa ja/tai header-komennossa), meta-tagissa ja tiedoston tallennusmuodossa (sehän ei itsestään muutu utf-8-muotoiseksi, jos et tallenna sitä editorilla UTF-8-muodossa).

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta