Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Ucinanie stringu
Forum PHP.pl > Forum > Przedszkole
Predator446
Witam,

Gdy dodaje tekst do bazy np. "To jest jakiś tekst" poprzez formularz i poda go użytkownik to jest wszystko OK, ale gdy go mam już w pliku w jakiejś zmiennej i przy pewnej akcji dodaje go do bazy to dodaje aż nie napotka polskiej litery czyli w efekcie zostanie w polu w bazie "To jest jaki".
Kodowanie to UTF-8
Kristof
Spróbuj po połączeniu z bazą danych wymusić kodowanie poprzez dodanie zapytania
  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3. ?>
Predator446
To już mam.
W plikach mam kodowanie utf-8.
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_unicode_ci
Metoda porównywania napisów: utf8_general_ci

Przy łączeniu z bazą
  1. <?php
  2. mysql_query("SET NAMES 'utf8'");
  3. ?>
Kristof
Pokaz przykład jak dodajesz ten ciąg znaków, że Ci ucina, jakiś kawałek kodu....
Predator446
  1. <?php
  2. $text = "To jest jakiś tekst";
  3. $q = mysql_query("INSERT INTO tabela VALUES('$id', '$text')");
  4. ?>
Kristof
a spróbuj zrobić tak:

  1. <?php
  2. function sqlesc($x) {
  3. return "'".mysql_real_escape_string($x)."'";
  4. }
  5.  
  6. $text = sqlesc("To jest jakiś tekst");
  7. $q = mysql_query("INSERT INTO tabela VALUES('$id', '$text')");
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.