2012-03-29 6 views
0

У меня есть класс, который посылает HTML-почту, основанную на некоторых вводимых пользователем через веб-форму, в какой-то момент он делает следующееIconv() - Â появляются линии всасывания £ знаки из пользовательского ввода

$emailcontent=iconv("UTF-8", "ISO-8859-1//IGNORE//TRANSLIT",$emailcontent); 

Я надеялся, что это перестанет появляться перед «все время», оказывается, что я ошибался. Кажется, что каждый другой персонаж кажется прекрасным, кроме знака Е.

Буду признателен, если кто-то может указать мне в правильном направлении.

+0

Вы говорите, что это полоски Â от других персонажей, кроме E, или просто ничего не делает? – Potatoswatter

+0

Каждый другой символ кажется прекрасным, поэтому я предполагаю, что он должен лишить его других. – cosmicsafari

+0

Нет причин предполагать что-либо. Либо он разделяет префиксы UTF-8 от таких символов, как '¿', либо нет. Если это не так, делает ли что-нибудь вообще? – Potatoswatter

ответ

0

Работы для меня. Если я могу установить OS X окно терминала в ISO Latin 1 кодировке, то

$ php -r 'print(iconv("UTF-8", "ISO-8859-1//IGNORE//TRANSLIT", "£\n"));' 
£ 

Согласно documentation, в //IGNORE и //TRANSLIT варианты противоречивы, хотя, и вы, вероятно, следует просто выбрать один.

+0

Кажется, что не работает, im работает PHP 5.3.6, может быть, это не стандарт? – cosmicsafari

+0

Я на 5.3.4. Если вы используете приведенный выше пример для проверки, убедитесь, что ваша консоль установлена ​​в кодировку ISO-8859-1. По умолчанию, вероятно, UTF-8. – Potatoswatter

+0

В настоящее время им развивается снежный барс, но живой сервер - это linux (hardy heron) – cosmicsafari

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

  • Нет связанных вопросов^_^