Sunday, April 26, 2015
   
Text Size
Login

Convert XML UTF-16 to JSON UTF-8 with PHP cURL

Previously titled
Fix PHP cURL: parser error: Document labelled UTF-16 but has UTF-8 content

What?
This is an article with notes for me on how to convert some received XML encoded in UTF-16 to some JSON in UTF-8. If it were entirely in UTF-8, I would simply load the received XML with SimpleXML and use the built-in PHP JSON_encode function. I ran into the following errors:
Warning: SimpleXMLElement::__construct() [<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]: Entity: line 1: parser error : Document labelled UTF-16 but has UTF-8 content in /public_html/.../.../my_script.php on line ###

Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 1: parser error : Document labelled UTF-16 but has UTF-8 content in /public_html/.../.../my_script.php on line ###
Why?
So I've googled, binged and yahoo'd for this and although there are some solutions that deal with loading UTF16 content into SimpleXMLElement or simplexml_load_string, it doesn't solve my problem. I'm receiving XML data within a cURL result but I get the above error with using either "SimpleXMLElement" or "simplexml_load_string". Returning the XML with cURL isn't a problem, but I want to convert it to JSON and I usually use a PHP function to load the data into an XML array and use the built-in PHP function: "json_encode".

How?

PHP: First name and Initial of Surname

What?
A note for myself on some code to convert a string of two names into a string made up of the first name and then using the initial of the second name.

  1.  -- What I have 
  2.  John Smith 
  3.  Fred.Bloggs 
  4.   
  5.  -- What I want 
  6.  John S. 
  7.  Fred B. 

How?

Anti-SQL Injection Function - Not a silver bullet

What?
So, seriously, this is not going to stop all the attacks out there; it is simply a base function to build upon. This is a PHP function I got off the PHP forums years ago, and can't find it anymore, so I'm posting it here... And now people can see how I safeguard my sites but obscurity should never be a recommended security measure.

How
This function will check a posted string for suspicious activity and email the specified system administrator. You should modify it to suit your sites needs (eg. if you need to accept url encoded values). It needs some work I know but it's a start. I'd advise using PHP sessions though as well (see after).

Preg_Replace all strings between two tags

What?
For those of you who use Preg_Replace. Preg_replace is a function that uses regular expressions to search and replace a string.

Why?
Because my understanding with regular expressions is shady and varies from language to language, I've written this article as a quick reference point.

How?

Php convert filesizes to bytes kb mb gb

What?
Just a quick note on how to format a given filesize and to reduce the display output to a small string, eg:

  1.  196 bytes          : displays as => "196 bytes" 
  2.     12945 bytes        : displays as => "12 Kb" 
  3.     1478515 bytes      : displays as => "1 Mb" 
  4.     8798745455 bytes   : displays as => "8 Gb" 

Help Develop!

Thank You! :c)



Connect: Google+

Visitors of the World

Latest Posts

  • Basic Android App using Google Maps and Current Location

    • Wed 22-Apr-15
      Hi, It's there a way to capture the directions the Gmaps navigation gives you? Like, when you have ...
      Neno
  • Joes Quicklist Weblinks (JQW)

    • Thu 23-Apr-15
      I changed the sourcecode in the helper.php file at line 249 from $ch = ...
      Andy  
    • Thu 23-Apr-15
      Joomla 3.4.1 purity iii template
      Andy  
    • Thu 23-Apr-15
      Hi, I got on all my weblinks a black thumbnail with this error back: http%3A%2F%2Fwww.deutsche-wirtschafts-nachrichten.de ...
      Andy  
    • Thu 23-Apr-15
      Hi, I got on all my weblinks a black thumbnail with this error back: http%3A%2F%2Fwww.deutsche-wirtschafts-nachrichten ...
      Andy