Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Многоязычный сайт - какая должна быть кодировка?
 
 автор: Zilog   (11.01.2009 в 01:27)   письмо автору
 
 

Пытаюсь наладить многоязычный сайт (рус, енг, итал, франц).
Какую выбрать кодировку? Юникод?

Правильно ли я понимаю: одну кодировку надо выставить в mysql базе, и её же в редакторе, в котором пишется сайт?

Можно ли пока всё сделать на 1251, а потом как то сконвертировать?

Если у кого опыт есть - поделитесь, пожалуйста, как надо правильно организовать этот момент.

Спасибо.

  Ответить  
 
 автор: himic   (11.01.2009 в 08:05)   письмо автору
 
   для: Zilog   (11.01.2009 в 01:27)
 

Начиная писать свою систему я ошибся, выбрал cp1251, нужно было utf-8
Сейчас я конвертирую казахские буквы, точнее их коды к нормальному виду.

Использую эту функцию, а именно последнюю строку.

<?function kazakh($post){
/*$post = preg_replace("(\&amp;\#1201;)","&#1201;",$post);
$post = preg_replace("(\&amp;\#1187;)","&#1187;",$post);
$post = preg_replace("(\&amp;\#1200;)","&#1200;",$post);
$post = preg_replace("(\&amp;\#1179;)","&#1179;",$post);
$post = preg_replace("(\&amp;\#1178;)","&#1178;",$post);
$post = preg_replace("(\&amp;\#1240;)","&#1240;",$post);
$post = preg_replace("(\&amp;\#1239;)","&#1239;",$post);
$post = preg_replace("(\&amp;\#1171;)","&#1171;",$post);
$post = preg_replace("(\&amp;\#1170;)","&#1170;",$post);
$post = preg_replace("(\&amp;\#1199;)","&#1199;",$post);
$post = preg_replace("(\&amp;\#1198;)","&#1198;",$post);
$post = preg_replace("(\&amp;\#1241;)","&#1241;",$post);
$post = preg_replace("(\&amp;\#1240;)","&#1240;",$post);
$post = preg_replace("(\&amp;\#1257;)","&#1257;",$post);
$post = preg_replace("(\&amp;\#1186;)","&#1186;",$post);
$post = preg_replace("(\&amp;\#1256;)","&#1256;",$post);*/
$post preg_replace("(\&amp;\#)","&#",$post);
return 
$post
}
?>

  Ответить  
 
 автор: sl1p   (11.01.2009 в 12:54)   письмо автору
 
   для: himic   (11.01.2009 в 08:05)
 

это жесть.

  Ответить  
 
 автор: Николай2357   (11.01.2009 в 08:32)   письмо автору
 
   для: Zilog   (11.01.2009 в 01:27)
 

Ну разумеется нужно использовать utf-8, на то он и юникод. То есть юниверсальный. Хоть на китайском можно.
Делать это нужно сразу, при конвертации обязательно вылезут проблемы, ну если это не на уровне Helo, World! Ход мысли верный - и в редакторе, и в базе нужно выставить эту кодировку. Кроме того, если Вы используете Денвер, то скорее всего по умолчанию там тоже стоит windows-1251. Изменить её можно, прописав в .htaccess в корне сайта
AddDefaultCharset UTF-8
либо раз и на всегда настроить на эту кодировку весь сервер.

  Ответить  
 
 автор: Zilog   (11.01.2009 в 13:10)   письмо автору
 
   для: Николай2357   (11.01.2009 в 08:32)
 

Спасибо, ребята. Много переделок мне не потребуется, ибо только начал делать.
Ну, с редактором (дримвивер) - понятно, как там кодировки настроить я знаю.

А в базе где выставлять эту кодировку? На данный момент у меня три таблицы, текстовые поля там в 1251, и при попытке изменить формат на Юникод, они возвращаются в прежнее значение.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования