2012-06-18 2 views
0

Когда я открываю файл excel, экспортируемый для многих данных, некоторые символы выглядят как: , хотя я установил кодировку utf-8, а в скрипте, используемом для экспорта данных, я использую следующую функцию: preg_replace('/[\s]+/',' ',@$tring); и $string="le secteur public à réagir"; в файле excel, $ string выглядит следующим образом: le secteur public � réagir, почему 'é' преобразуется правильно, но 'à' нет? utf-8 вставлен правильно.Персонажи, отображающие проблемы в Excel/текстовый файл?

спасибо.

+0

могли бы вы разместить скрипт для экспорта данных (это может как правило, преобразуются в текст ASCII с помощью PHP)? Кроме того, если вы открываете общую форматированную информацию utf-8 в Excel, но из текста это не означает, что Excel понимает, что он делает свое собственное преобразование открытым. Образец кода очень поможет. – matthewnreid

ответ

0

Вы использовали echo $string перед использованием preg_replace('/[\s]+/',' ',@$tring);?

Этот код работает правильно при использовании Chrome, его вывод le secteur public à réagir.

Когда я запускаю этот код в командной строке, его вывод равен le secteur public α rΘagir.

Так что, я думаю, что проблема здесь не preg_replace('/[\s]+/',' ',@$tring);

+0

Возможно, код в текст? –

+0

Может быть, кодировка файла excel. – Simon

+0

Как установить? Для кодировки utf8? –

0

Ваше регулярное выражение отсутствует u (UTF-8) модификатор:

preg_replace('/[\s]+/u',' ',@$tring); 
        ^
+0

Благодарим за отзыв. –

Смежные вопросы