Вывод PHP, показывающий маленькие черные бриллианты со знаком вопроса - PullRequest
70 голосов
/ 09 ноября 2008

Я пишу программу php, которая извлекает данные из базы данных. У некоторых из varchars есть кавычки, которые отображаются в виде черных бриллиантов с вопросительным знаком в них (*, ЗАМЕНА ХАРАКТЕР , я предполагаю из текста Microsoft Word).

Как я могу использовать php для удаления этих символов?

Ответы [ 21 ]

0 голосов
/ 06 сентября 2016

Я запустил код «определения кодировки» после изменения параметров сортировки в phpmyadmin, и теперь он выглядит как Latin_1.

но вот что я натолкнулся, глядя на другую аномалию данных в моем приложении и как я ее исправил:

Я только что импортировал таблицу со смешанной кодировкой (с бриллиантовыми вопросительными знаками в некоторых строках, и все они были в одном столбце.), Так что вот мой код исправления. Я использовал процесс utf8_decode, который берет неопределенный заполнитель и назначает простой знак вопроса вместо «алмазного знака вопроса», затем я использовал str_replace, чтобы заменить знак вопроса пробелом между кавычками. здесь [код]

    include 'dbconnectfile.php';

  //// the variable $db comes from my db connect file
   /// inx is my auto increment column
   /// broke_column is the column I need to fix

      $qwy = "select inx,broke_column from Table ";
      $res = $db->query($qwy); 

      while ($data = $res->fetch_row()) {
      for ($m=0; $m<$res->field_count; $m++) {
           if ($m==0){ 
           $id=0;
           $id=$data[$m];
       echo $id;
           }else if ($m==1){ 
             $fix=0;
             $fix=$data[$m];


             $fix = utf8_decode($fix);
             $fixx =str_replace("?"," ",$fix);

        echo $fixx;

        ////I echoed the data to the screen because I like to see something as I execute it :)
            }
            }
         $insert= "UPDATE Table SET broke_column='".$fixx."'  where inx='".$id."'";
          $insresult= $db->query($insert);
      echo"<br>";
        }

        ?>        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...