Специальные символы Unicode ColdFusion в содержимом, возвращаемом cfhttp

В содержимом, полученном с помощью http-объекта ColdFusion, есть некоторые символы, которые возвращаются в виде вопросительных знаков; а именно это римские цифры (например, Ⅱ), которые отображаются без проблем, когда я посещаю ту же страницу в браузере.

Сервер, на котором я делаю запрос на дозу, похоже, не предоставляет никакой информации о кодировке в заголовках ответа (значение Content-Type - это просто "text / html", а свойство charset в результате cfhttp пусто), но кодировка объявлена в html страницы как "charset = EUC-JP" (это страница на японском языке). Поэтому я делаю запрос с установленной кодировкой EUC-JP.

Контент на японском языке (японские символы) извлекается правильно, но римские цифры заменяются вопросительными знаками.

Я попытался запросить кодировку, установленную на UTF-8, но в этом случае все перемешалось. Мне кажется, что эти римские цифры являются Unicode, поэтому я понимаю, что сервер, на котором я делаю запрос, смешивает кодировки (но, возможно, я ошибаюсь в этом).

Как мне заставить эти специальные символы правильно отображаться в fileContent cfhttp?

Спасибо!


person Kirill G.    schedule 31.07.2012    source источник
comment
Можете ли вы поделиться URL-адресом, чтобы мы могли протестировать?   -  person Sharondio    schedule 31.07.2012
comment
Спасибо за быстрый ответ. К сожалению, я не думаю, что смогу это сделать из соображений конфиденциальности. Могу ли я предоставить какую-либо информацию, чтобы сделать ее более понятной? Могу добавить, что я пробовал использовать эти римские цифры на тестовой странице моего собственного сайта (которая возвращается как UTF-8), и никаких проблем с отображением не возникло.   -  person Kirill G.    schedule 31.07.2012
comment
@Sharondio, я до сих пор с этим не разбираюсь. Вот ссылка ссылка. На этой странице есть такие символы, как Ⅰ или Ⅱ. Есть ли способ прочитать эту ссылку и правильно сохранить и японские символы, и эти римские цифры?   -  person Kirill G.    schedule 18.08.2012


Ответы (1)


Единственный способ, который я могу придумать, - это сделать 2 запроса с разными кодировками и объединить данные вместе. Первый запрос будет для кодировки EUC-JP, а второй - с UTF 8. После второго запроса просмотрите контент из первого и для каждого вопросительного знака найдите индекс во втором запросе. Например, когда вы нажимаете 5-й вопросительный знак в первом наборе контента, ищите 5-ю римскую цифру во втором наборе. Это не гарантировано сработает, но это все, о чем я могу думать.

person Dave Long    schedule 31.07.2012
comment
Спасибо за быстрый ответ. Я подумал об этом и даже попытался сделать запрос с помощью utf-8, но проблема в том, что в этом случае все были вопросительными знаками, японскими символами и этими римскими цифрами. - person Kirill G.; 31.07.2012