Изменение символов PHP - PullRequest
       28

Изменение символов PHP

1 голос
/ 21 февраля 2011

Мое PHP-приложение меняет мой символ апострофа на

В чем мое преступление?

Ответы [ 2 ]

4 голосов
/ 21 февраля 2011

Нажмите кнопку Microsoft Office, а затем нажмите Параметры Word.

Нажмите Проверка и выберите Параметры автозамены.

В диалоговом окне Автозамена выполните следующие действия:

Перейдите на вкладку «Автоформат при вводе» и в разделе «Замена при вводе» установите или снимите флажок «Прямые кавычки» с «умными кавычками».

Перейдите на вкладку «Автоформат» и в разделе «Заменить» выберите илиСнимите флажок «Прямые кавычки» с помощью «умных кавычек».

о, если вам необходимо:

<?php 

function convert_smart_quotes($string) 
{ 
$search = array(chr(145), 
                chr(146), 
                chr(147), 
                chr(148), 
                chr(151)); 

$replace = array("'", 
                 "'", 
                 '"', 
                 '"', 
                 '-'); 

return str_replace($search, $replace, $string); 
} 

?>

заменить, чтобы сохранить их для таких людей, как Дэвид Харкнесс

<?php 

$replace = array('&lsquo;', 
             '&rsquo;', 
             '&ldquo;', 
             '&rdquo;', 
             '&mdash;'); 

?>
1 голос
/ 22 февраля 2011

Вы хотите убедиться, что ваш сервер отправляет набор символов UTF-8 в заголовке Content-Type. В фигурных кавычках используется более одного байта, поэтому для их отражения требуется соответствующая кодировка. Если ваш сервер не отправляет кодировку в заголовке, большинство браузеров предположит, что вы используете стандартную кодировку ISO-8859, которая использует только один байт на символ, что показывает, что вы получаете 3 символа только от одного введенного вами символа.

Если вы используете Apache, вы должны установить свой набор символов по умолчанию следующим образом: httpd.conf:

AddDefaultCharset UTF-8

Если у вас нет доступа к конфигурации вашего сервера, вы можете отправить заголовок с php до вывода какого-либо контента.

header('Content-Type: text/html; charset=UTF-8');
...