Есть скрипт сервиса коротких ссылок, кодировка 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
Поменять структуру таблицы, т.к у тебя поля кодировки "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
Спросить у тех поддержки, или полистать FAQ
Спустя 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
перед запросом попробуй
точнее даже
сразу после соединения с базой
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 написал(а):
в движке скрипта есть такой файл :
тут, как видно, и так utf8...
или может тут ошибочка есть ?
<?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. Для конвертации использую этот класс