cMexypaHko
Registered
Хора, ползвам услугите на tophost.bg .Те не ползвали там някакъв код или незнам какво точно и ми казаха за да мога да пиша на български във форума и ми дадоха линк към едни глупости:
Желая да ползвам UTF-8 за кодировка на сайта ми, но Вашия сървър работи с Windows-1251. Има ли решение на проблема?
Да, можете да настроите кодировката по подразбиране за целия си сайт чрез .htaccess файл. Добавете в него следното:
php_value default_charset utf-8
AddDefaultCharset utf-8
Добавих го, но сега пък излизат някъвки йероглифи. След това пък ми пратиха ето това съобщение:
Подобни ситуации, в които вместо коректните знаци MySQL връща грешни такива се получават при "разминаване" в кодировките.
Да речем, че имаме база данни "baza", която е с енкодинг "cp1251". MySQL по подразбиране работи с UTF-8, така че щом извикаме каквито и да било данни от базата данни "baza", те ще са с грешни знаци. Това се случва поради факта, че MySQL интерпретира знаците като UTF-8 такива, докато те реално са cp1251. Резултатът е нечетими знаци.
За да се избегнат подобни ситуации, в MySQL е добавена възможно да укажем на MySQL как да интерпретатира базата данни, с която той оперира. Това става със заявка "set names `enkoding`". Ако дадем пример с горния случай:
$query = mysql_query("set names `cp1251`");
По този начин MySQL ще знае, че в текущата връзка трябва да работи с базата данни използвайки знаци от cp1251, а не от UTF-8, както той прави по принцип.
Обърнете внимание, че е препоръчително тази заявка да се изпълнява веднага след като се свържете с базата данни. Валидността на това тълкувание на MySQL е само за текущата MySQL връзка.
Моля ви кажете какво да направя за да излиза форума нормално. Благодаря ви !
Желая да ползвам UTF-8 за кодировка на сайта ми, но Вашия сървър работи с Windows-1251. Има ли решение на проблема?
Да, можете да настроите кодировката по подразбиране за целия си сайт чрез .htaccess файл. Добавете в него следното:
php_value default_charset utf-8
AddDefaultCharset utf-8
Добавих го, но сега пък излизат някъвки йероглифи. След това пък ми пратиха ето това съобщение:
Подобни ситуации, в които вместо коректните знаци MySQL връща грешни такива се получават при "разминаване" в кодировките.
Да речем, че имаме база данни "baza", която е с енкодинг "cp1251". MySQL по подразбиране работи с UTF-8, така че щом извикаме каквито и да било данни от базата данни "baza", те ще са с грешни знаци. Това се случва поради факта, че MySQL интерпретира знаците като UTF-8 такива, докато те реално са cp1251. Резултатът е нечетими знаци.
За да се избегнат подобни ситуации, в MySQL е добавена възможно да укажем на MySQL как да интерпретатира базата данни, с която той оперира. Това става със заявка "set names `enkoding`". Ако дадем пример с горния случай:
$query = mysql_query("set names `cp1251`");
По този начин MySQL ще знае, че в текущата връзка трябва да работи с базата данни използвайки знаци от cp1251, а не от UTF-8, както той прави по принцип.
Обърнете внимание, че е препоръчително тази заявка да се изпълнява веднага след като се свържете с базата данни. Валидността на това тълкувание на MySQL е само за текущата MySQL връзка.
Моля ви кажете какво да направя за да излиза форума нормално. Благодаря ви !