On 11/11/2011, at 5:10 AM, Marc Guay wrote:

> Hi folks,
> 
> I'm trying to convert the contents of an array from utf8 to utf16
> (thanks for the headache MS Excel!).  I originally created a "user
> function" that just ran the text through
> mb_convert_encoding($text,'utf-16','utf-8') but now I'm wondering if I
> can't just use the internal function directly.  Apparently it's more
> complicated when the function requires arguments; I see example using
> mysql_real_escape_string() on php.net.
> 
> My current attempt looks like this:
> 
> $clean = array_map('mb_convert_encoding', $dirty_arr, 
> array('utf-16','utf-8'));
> 
> but I believe this is actually passing an array to
> mb_convert_encoding() as the second argument rather than the 2nd and
> 3rd... Any ideas or am I chasing something that can't be done?
> 
> Marc


You need to pass a second and third array to array_map() with the same number 
of elements as the first array. The arguments to the callback function are the 
elements from each array at the same offset.

Something like $clean = array_map('mb_convert_encoding', $dirty_arr, 
array_fill(0, count($dirty_arr), 'utf-16'), array_fill(0, count($dirty_arr), 
'utf-8'));
---
Simon Welsh
Admin of http://simon.geek.nz/


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to