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

Форум MySQL

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

 

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

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

тема: Проблема с кодировкой при разборе Excel-файла
 
 автор: Maestro   (02.11.2008 в 22:46)   письмо автору
 
 

Всем привет!
Помогите пожалуйста со след. проблемой:
На сервер приходит файл в формате Excel, который надо запихать в БД. Но у разных пользователей стоит разная кодирочка, потому бывает что некоторые столбцы не создаются, пишется Incorrect name. Везде устанавливается кодирока CP1251.
1)Существуют ли функции, которые вне зависимости от того, в какой кодировке был текст перевести его в CP1251?
2)Как проверить строку на недопустимость символов в данной кодировке?
заранее спасибо

  Ответить  
 
 автор: ddhvvn   (02.11.2008 в 23:31)   письмо автору
 
   для: Maestro   (02.11.2008 в 22:46)
 

1) да, но исходную кодировку надо знать )

  Ответить  
 
 автор: Maestro   (02.11.2008 в 23:58)   письмо автору
 
   для: ddhvvn   (02.11.2008 в 23:31)
 

Еще немного информации. приведу на примере:
Пишу в базу сообщение(через mysql_query, при этом Set Names cp1251):
alter table `default_111` add `Olmeca Gold Supremе 1 ` varchar(100) character set cp1251 COLLATE cp1251_general_cs

Сама система выводит:
Incorrect column name 'Olmeca Gold Supremе

Ввожу тоже самое в phpMyAdmin, он выводит:
#1166 - Incorrect column name 'Olmeca Gold Supremе 1 '

Помогите, что сделать?

  Ответить  
 
 автор: AcidTrash   (03.11.2008 в 00:09)   письмо автору
 
   для: Maestro   (02.11.2008 в 23:58)
 

Mysql не предусматривает пробелы в названии полей.

  Ответить  
 
 автор: Maestro   (03.11.2008 в 11:17)   письмо автору
 
   для: AcidTrash   (03.11.2008 в 00:09)
 

Да ладно, не предусматривает! Напишите "create table `Space Space`(`Space 3 Space` varchar(300)) - и он нормально все съест$

  Ответить  
 
 автор: Inviseble_Demon   (04.11.2008 в 23:25)   письмо автору
 
   для: Maestro   (02.11.2008 в 22:46)
 

Точно не знаю но когда мне надобыло из хрен знает какой кодеровки переконвертить в 1251 помогло !
Но есть пара условий 1 фаил был сохранен в 1251 и содержимое в хз и по стандарту в апаче стояла кодеровка 1251. кароче пробуйте и отпишитесь прокатилло или нет

$s = file_get_contents("http://test/book/$url_add/___left.htm");
$s = html_entity_decode($s);

  Ответить  
 
 автор: Maestro   (06.11.2008 в 09:12)   письмо автору
 
   для: Inviseble_Demon   (04.11.2008 в 23:25)
 

спасибо, я попробую

  Ответить  
 
 автор: Maestro   (06.11.2008 в 22:11)   письмо автору
 
   для: Maestro   (06.11.2008 в 09:12)
 

Тема закрыта, нашел решение, большое спасибо, всем кто ответил "по теме"

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

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