За последние 24 часа нас посетили 22839 программистов и 1240 роботов. Сейчас ищут 744 программиста ...

php, mysql, str_split и одинарные кавычки.

Тема в разделе "PHP для новичков", создана пользователем savsoft, 15 июл 2020.

Метки:
  1. savsoft

    savsoft Активный пользователь

    С нами с:
    1 фев 2017
    Сообщения:
    96
    Симпатии:
    2
    Всем привет,

    Наткнулся на проблему и не знаю как решить, не понимаю откуда ноги растут.

    Есть строка типа.
    Код (Text):
    1. I [didn’t] [know] him.
    Перед записью в таблицу mysql делаю mysqli_real_escape_string. Читаю данные из базы и мне нужно преобразовать строку в массив символов. Делаю
    Код (Text):
    1.  
    2. $astr  = str_split($row["mysql_str"]);
    И символ одинарной кавычки превращается в три непечатаемых символа с кодами 226, 128, 153.

    Подскажите как решить, спасибо.
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Это код используемого символа «’». Хотите получить обычный апостроф на выходе, укажите его в исходном тексте ;)
     
  3. savsoft

    savsoft Активный пользователь

    С нами с:
    1 фев 2017
    Сообщения:
    96
    Симпатии:
    2
    А можно как-то автоматом при вводе заменять этот обратный апостроф на обычную одинарную кавычку?
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Делайте замену, если уверены, что в тексте данный символ не используется по прямому назначению, а только в качестве апострофа.

    P.S. Right single quotation mark (E2 80 99) можно использовать в качестве апострофа, так что можно оставить. А для разбиения текста на символы и т.п. можете использовать ф-ции, умеющие работать с многобайтовыми кодировками.
     
    savsoft нравится это.
  5. savsoft

    savsoft Активный пользователь

    С нами с:
    1 фев 2017
    Сообщения:
    96
    Симпатии:
    2
    Спасибо, разобрался