Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] kodowanie
dopelganger
post 2.11.2016, 13:47:39
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


Witam
mam na stronie formularz "dane kontaktowe", gdzie mogą składać zapytanie ofertowe osoby z przeróżnych krajów (np. chińskie, cyrylica itd) i tu jest problem, bo w bazie zapisuje mi niekiedy tzw. "ślaczki" zamiast oryginalnego znaku podanego w formularzu,
Stronę mam kodowaną w utf-8 , w bazie dane te zapisuje w 2-óch polach (dla testów)- gdzie w jednym jest kodowanie utf-8, a w drugim latin1_swedish_ci, niestety w obu wywala mi znaki ,,,

czy jest na to jakiś sposób, jak zapisać to aby nie utracić oryginalnych znaków, myślałem że kodowanie utf-8 na stronie załatwi sprawe, ale okazuje się że nie.
Próbowałem też przed zapisem do bazy konwertować dane:

  1. iconv("iso-8859-2","utf-8",$text);
  2.  
  3. // lub:
  4.  
  5. iconv("utf-8","iso-8859-2",$text);


A może to wina bazy??
Prosze o pomoc.

Ten post edytował dopelganger 2.11.2016, 13:51:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adbacz
post 2.11.2016, 16:00:25
Post #2





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


1. Plik HTML (resultat który widzi przeglądarka, czyli kod HTML de facto) musi być kodowany w UTF8.
2. Pliki PHP muszą być kodowane w UTF8 (bez BOM).
3. Baza danych, tabele i kolumny musza mieć utf8_unicode.
4. Używasz PDO? Wykonaj SET NAMES utf8 na początku działania skryptu:
  1. $pdo = new PDO(
  2. 'mysql:host=mysql.example.com;dbname=example_db',
  3. "username",
  4. "password",
  5. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:26