Народ помогите чайнику! через форму ввода, получаются данные на русском языке, которые сравниваются с данными таблицы БД. в таблице строковые данные записаны в формате & # 1050 & # 1091 & # 1090 & # 1072 & # 1085 & # 1080 (пробелов нет соотв.) Оговорюсь сразу что БД они попадают через парсер из эксель файлов. Необходимо, введенную руками строку или слово привести к формату как в БД для возможности их сравнения в SQL запросе. Заранее прошу прощения если написал глупость , но ответа пока не нашел.
А мне надо наоборот Чтобы человек вводил нормальную кирилицу, а она становилась & # 1050 и т.д. я же так и описал задачу
glu2006 мож лучше парсер поправить что б нормально выдирал? =) а не садиться на ежа голой попой? а тут еще советуют... функции... парни? вы что?
Я не настолько силен в PHP чтоб готовый скрипт парсера править пользуюсь PHP Excel parser pro 4.5 и если честно то разбирать его устройство нет времени. Со временем, может и перелопачу. А сча подскажите можно ли все-таки вышеуказанной функцией это осуществить или нет?
Вообще-то это глуповато. Потому что теряется масса возможностей, типа "полнотекстового поиска" и тому подобных. Лучше, конечно, парсер поковырять. К тому же врятли это сложная задача. В простом/быстром варианте - надо просто найти кусок, который пишет в базу и туда вставить html_entity_decode перед записью.
Тут я с Вами совершенно согласен, но проект сдавать во вторник, да и не несет по ТЗ это особой нагрузки , там ситуация просто сложилась, что людям надо заливать на сайт таблицу из екселя в 4-е колонки, 1-я имя дилера 2-я его код и две остальные сообщения, так вот чтоб юзеру увидеть свое сообщение надо ввести пару имя + код, с ангийским вариантом имен как не сложно догадаться все было хорошо но сегодня всплыл "баг" ввели русское имя в таблице ексель а парсер пишет строки в базу если они русскими буквами в мнемониках вот и понадобилось. Главное что как я понял это можно сделать функцией? т.е. примерно так? поправьте если что. и уж заодно подскажите, счас выводит соответственно первый встретившийся элемент совпавшей пары, а как сделать последний??
glu2006 Hint: Баксов за 5, я думаю, многие старики на этом форуме возьмутся вставить вызов html_entity_decode в нужное место в твоём парсере. И займёт у них это врятли больше получаса.
А смысл тогда самому учится, плати на лево и на право WMZ-ы и балдей по полной, но во всяком случае я так не хочу (не из жадности потерять 5 баксов) Хочется самому разобраться и понять как это работает. Тогда это даст какой-то эффект в изучении языка.
Мне показалось, что у тебя сроки поджимают и учиться некогда. А решение, которое ты сделал - "ограниченной функциональности". Поэтому я тебе и предложил быстро и нормально решить проблему. А если хочешь сам учиться - ковыряй парсер, как я уже говорил. Тогда будет нормальное решение.
Сроки действительно поджимают, я нашел приблизительно место где это происходит, там подгружается файл excel.php (кстати что-то подобное я видел у 440Hz, но его парсер разгребает на экран и этот же файл выдает данные в формате & # 1050 и т.д.) так вот он при разборе экселевской таблицы и перекодирует русские символы, там прописана функция и несколько дебугеров с case: т.е. при вхождении в строку определенных символов (кирилических) они преобразуются к ненужному мне виду. Если вы или 440Hz (поскольку он этото парсер юзал, только версия 4.3) как говорится ткнете меня носярой то думаю что поправлю, хотя???
Код в студию. И свои мысли, как это исправить и что ты не понимаешь. Не забудь глянуть в мою подпись.
собственно все упрется тут: // конвертим в нужную кодировку function uc2html($str) { return iconv('UNICODELITTLE','UTF-8',$str); } кодировку подствить свою. у меня UTF-8
440Hz собственно как в анекдоте получилось зря на собачку клевещете не причем тут excel.php спасибо большое, все заработало. Как говорится век живи век учись так дураком и помрешь. Еще раз спасибо!!!!
я предыдущий пост удаляю, если кому будет надо, пишите в личку кину ссылку. Еще раз спасибо всем помогавшим со вчерашнего вечера . Делаю для себя выводы Народ на PHP.ru хороший добрый и отзывчивый.