DIACRITICE IN SQL

Dacă problema ta este că diacriticele sunt salvate incorect în baza de date (ex. „Mâncare” apare ca „Mâncare”), trebuie să corectezi setările bazei de date și conexiunea PHP. 1. Verifică setările bazei de date Execută acest SQL în phpMyAdmin sau MySQL: sql Copy Edit SHOW VARIABLES LIKE 'character_set_database'; SHOW VARIABLES LIKE 'collation_database'; Dacă nu este utf8mb4 și utf8mb4_unicode_ci, trebuie să schimbi asta. Conversie la utf8mb4: sql Copy Edit ALTER DATABASE familie_bani CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2. Verifică setările tabelului și coloanelor Verifică tabelul transactions: sql Copy Edit SHOW CREATE TABLE transactions; Dacă vezi CHARSET=latin1, trebuie schimbat la utf8mb4: sql Copy Edit ALTER TABLE transactions CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Apoi verifică și coloanele importante: sql Copy Edit ALTER TABLE transactions CHANGE category category VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE transactions CHANGE description description TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3. Asigură-te că PHP folosește utf8mb4 În config.php, după crearea conexiunii, adaugă: php Copy Edit $conn->set_charset("utf8mb4"); 4. Corectează datele deja salvate greșit Dacă datele sunt deja salvate în format greșit (Mâncare în loc de Mâncare), încearcă să le repari: sql Copy Edit UPDATE transactions SET category = CONVERT(BINARY CONVERT(category USING latin1) USING utf8mb4); UPDATE transactions SET description = CONVERT(BINARY CONVERT(description USING latin1) USING utf8mb4);

Autor: admin

Data publicării: 2025-03-10

Număr de vizualizări: 8

Nu există comentarii pentru acest articol.

Editare Înapoi