Brak polskich znaków

MO
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzień Dobry,

mój problem polega na tym że mam bazę danych w MySQL która zawiera już bardzo dużo materiału więc wolę się skonsultować przed grzebaniem na żywca.
Co prawda zrobiłem backup.

Więc: pod PhpMyAdmin widzę że pola tekstowe mają w oryginale kodowanie: utf8mb4_unicode_ci
Sam WordPress wyświetla poprawnie tytuły i polskie znaki.
Problem pojawił się gdy dodałem tabelę z której chcę zaczytać tekst po polsku. Kolumny w mojej tabeli są utf8_polish_ci
Strona w PHP ma kodowanie UTF-8 (plik) i

Kopiuj
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

używam mysqli

Kopiuj
mysqli_query->set_charset("utf8");
$result = mysqli_query($conn,"SELECT ........

W bazie tekst ma polskie znaki. na podstronce krzaczki

Mogę wejść w PHPmyadmin w ustawieniach ogólnych bazy zmienić metodę porównywania napisów bo widzę że jest latin1_swedish_ci, ale boję się czy nie stracę polskich znaków w istniejących wpisach.

Pomożecie?

axelbest
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 2255
0

A czemu dałeś utf8_polish_ci, skoro miałeś wcześniej wszędzie utf8mb4_unicode_ci? Polskie znaki też będą się tam dobrze zapisywać/wyświetlać. Skąd pochodzą dane i w jaki sposób określasz ich źródłowy format?

MO
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam Mogę zmienić na utf8mb4_unicode_ci. Sytuacja była taka - koledze padł serwer ma Joomli (nie wnikam) , zrobiłem mu instalację na wordpress , potem przeniosłem na ovh (żeby mu znowu coś nie padło ) Stare wpisy pobrałem poprzez apke z githuba z webarchive, w c# pociąłem pliki tzn wyodrębniłem tytuł, kategorię, datę autora i treść i przygotowałem z automatu (w kodowaniu domyślnym UTF-8) nowe pliki php które otwierają się ok z polskimi znakami. VS zrobił mi od razu skrypt do bazy. Który wgrałem sobie do bazy w wordpresie (na tym hostingu jest opcja jednej bazy). Wchodzę na PHPmyadmin i widzę że wrzuciło tabelę , dane wyodrębnione w VS,znaki są ok.

Zrobiłem plik index w archiwum gdzie chce zrobić wybór artykułu sortowanie. Na razie zrobiłem tylko select * i dzielenie na strony artykułów bo pobiera mi z bazy krzaki zamiast polskich znaków. W samym pliku php znaki polskie wyświetlają się poprawnie np opis Tytuł itp

UZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
1

Możesz skopiować istniejącą tabelę do nowej tabeli, która ma metodę porównywania napisów ustawioną na utf8_polish_ci. Polecenie SQL:

Kopiuj
CREATE TABLE new_table LIKE old_table;
ALTER TABLE new_table MODIFY COLUMN column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_polish_ci;
INSERT INTO new_table SELECT * FROM old_table;

Utworzysz kopię istniejącej tabeli z nową metodą porównywania napisów, ale bez ryzyka utraty danych.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.