[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как добавить кириллические символы ?
kav1
Доброго времени суток.

Есть скрипт сервиса коротких ссылок, кодировка utf8, есть в нем функция проверки ссылки (исходной) :

 if((!$url) || !preg_match('|[a-z0-9^]+\.[a-z]{1,4}|is', $url))
{

$er[] = 'error';
$error = showBlock('error');
}


Как видно, если в адресе ссылки кроме латиницы и цифр будет например кириллица, то выдаст ошибку. И далее ссылка не будет укорачиваться. Как реализовать поддержку кириллических ссылок ?



Спустя 16 минут, 34 секунды (20.05.2011 - 13:30) Krevedko написал(а):
[a-zа-я0-9^]
видимо

Спустя 2 часа, 43 минуты, 52 секунды (20.05.2011 - 16:14) mav1 написал(а):
да, сделал так, но теперь пишет :

Ошибка базы данных
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='


Как поправить ?

Спустя 9 минут, 30 секунд (20.05.2011 - 16:23) sharki написал(а):
mav1
Поменять структуру таблицы, т.к у тебя поля кодировки "latin1_swedish_ci" т.е он не поддерживает UTF8. Поставь везде кодировку utf8_general_ci

Спустя 14 минут, 13 секунд (20.05.2011 - 16:37) mav1 написал(а):
насколько я понимаю, необходимо сделать кодировку БД utf-8 ? Как это сделать?

Спустя 1 минута, 23 секунды (20.05.2011 - 16:39) Krevedko написал(а):
если у тебя пхпмайадмин, то поменять там в полях на utf8

Спустя 1 минута, 33 секунды (20.05.2011 - 16:40) mav1 написал(а):
у меня direct admin

Спустя 1 минута, 7 секунд (20.05.2011 - 16:41) sharki написал(а):
mav1
Спросить у тех поддержки, или полистать FAQ smile.gif

Спустя 13 минут, 59 секунд (20.05.2011 - 16:55) Krevedko написал(а):
или юзать SQL запросы )

Спустя 5 минут, 52 секунды (20.05.2011 - 17:01) mav1 написал(а):
в пхпмайадмин нашел где прописать "сравнение", там было latin1_swedish_ci, теперь я выставил utf8_general_ci, но всё равно строка

Ошибка базы данных
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

осталась ((

Спустя 2 минуты, 53 секунды (20.05.2011 - 17:04) Krevedko написал(а):
mysql_query("SET names 'utf8'");
перед запросом попробуй

точнее даже
сразу после соединения с базой
mysql_query("SET character_set_client = 'utf8'");
mysql_query("SET character_set_connection = 'utf8'");
mysql_query("SET character_set_results = 'utf8'");Language: no-highlight

Спустя 2 минуты, 36 секунд (20.05.2011 - 17:07) mav1 написал(а):
в движке скрипта есть такой файл :

<?php

mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Ошибка открытия базы данных<br>". mysql_error());
mysql_select_db(DB_BASE) or die("Ошибка открытия базы данных<br>". mysql_error());

mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");


тут, как видно, и так utf8...

или может тут ошибочка есть ?

Спустя 7 минут, 44 секунды (20.05.2011 - 17:15) mav1 написал(а):
Krevedko , поменял строки на ваши - все то же самое осталось

Спустя 3 минуты, 49 секунд (20.05.2011 - 17:18) Krevedko написал(а):
грубо говоря ошибка звучит как невозможное смешение кодировок. утф8 и латин. где-то конфликт короче говоря.
в какой кодировке у тебя хтмл ?

Спустя 1 минута, 37 секунд (20.05.2011 - 17:20) mav1 написал(а):
html в utf 8 ))

Спустя 1 минута, 47 секунд (20.05.2011 - 17:22) mav1 написал(а):
ЭВРИКА!!!!! Нашел, в одной таблице забыл поменять!!!!

Спасибо, Креведко!!!!

Спустя 8 минут, 30 секунд (20.05.2011 - 17:30) Krevedko написал(а):
запрос к базе покажи

Спустя 23 минуты, 14 секунд (20.05.2011 - 17:53) Nikitian написал(а):
В ссылке не должно быть кирилицы. Всё, что в параметрах url-кодируется функцией urlencode(), всё, что в домене необходимо преобразовать в puny-code. Для конвертации использую этот класс
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.