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

Форум MySQL

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

 

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

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

тема: Два языка и как составить структуру
 
 автор: JESS   (12.04.2009 в 18:40)   письмо автору
 
 

День добрый!
Вот столкнулся с проблемой, делаю сайт на арабском и английском, какая кодировка нужна в БД для арабского?

Сайт такой в нем будет храница информация о людях, люди себя регистрируют а потом, пишут информацию о себе на арабском, а если хотят, то могут и на английском написать.
Вопрос в том как информацию в базу данных вкладывать как две таблицы для двух разных языков?

Заранее спасибо!

  Ответить  
 
 автор: vml   (12.04.2009 в 19:26)   письмо автору
 
   для: JESS   (12.04.2009 в 18:40)
 

Одно точно однозначно: любая кодировка поддерживает английский язык, так как он появился "в компьютере" раньше всех. Ты же не создаешь две таблицы: Для русского и английского. По поводу конкретной кодировки - я бы остановился на UTF8.

  Ответить  
 
 автор: JESS   (13.04.2009 в 09:11)   письмо автору
 
   для: vml   (12.04.2009 в 19:26)
 

utf8 под арабский не идет, пишет уйму знаков и букв)) =(

  Ответить  
 
 автор: Trianon   (13.04.2009 в 09:19)   письмо автору
 
   для: JESS   (13.04.2009 в 09:11)
 

utf8 идет под любой современный язык.

  Ответить  
 
 автор: JESS   (13.04.2009 в 09:32)   письмо автору
 
   для: Trianon   (13.04.2009 в 09:19)
 

В базе вот так выводит ãÏíäÉ вот это слово مدينة

Подключение к базе

<?php

    mysql_connect
("localhost""root""") or die (mysql_error());
    
mysql_select_db("job") or die (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'");


 function 
slashes(&$el)
    {
        if (
is_array($el))
            foreach(
$el as $k=>$v)
                
slashes($el[$k]);
        else 
$el stripslashes($el);
    }

    if (
ini_get('magic_quotes_gpc'))
    {
        
slashes($_GET);
        
slashes($_POST);
        
slashes($_COOKIE);
    }
?>

Сама база

CREATE TABLE IF NOT EXISTS `Location` (
  `id` int(11) NOT NULL auto_increment,
  `name_en` varchar(255) default NULL,
  `name_ab` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

  Ответить  
 
 автор: Trianon   (13.04.2009 в 09:54)   письмо автору
 
   для: JESS   (13.04.2009 в 09:32)
 

Сама база

>CREATE TABLE IF NOT EXISTS `Location` (

это только структура. А дамп таблицы?


Причина, вероятно , в том, что база и.или таблица были некорректно заполнены.
Например, потому, что форма заполнения был размещен на странице с кодировкой , отличной от utf-8.

  Ответить  
 
 автор: JESS   (13.04.2009 в 10:02)   письмо автору
 
   для: Trianon   (13.04.2009 в 09:54)
 

Уже крыша едет))
вот дамт, правдо все перепробывал...

INSERT INTO `Location` (`id`, `name_en`, `name_ab`) VALUES
(1, 'Dubai', '&amp;#227;&amp;#207;&amp;#237;&amp;#228;&amp;#201;'),
(2, 'ss', '&amp;#1605;&amp;#1583;&amp;#1610;&amp;#1606;&amp;#1577;');



у меня стояло


$trans = get_html_translation_table(HTML_ENTITIES);
// Location English
         $as_name = addslashes($_POST['location_en']);
        $tr_name = trim($as_name);
        $name_en = strtr($tr_name, $trans);


на поле для арабского)) щас убрал и все работает хорошо

  Ответить  
 
 автор: Trianon   (13.04.2009 в 10:52)   письмо автору
 
   для: JESS   (13.04.2009 в 10:02)
 

>у меня стояло
>
>$trans = get_html_translation_table(HTML_ENTITIES);
> $as_name = addslashes($_POST['location_en']);
> $name_en = strtr($tr_name, $trans);
>

ну? И не сам себе ЗБ?

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

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