How to convert php array to utf8?
Instead of using recursion to deal with multi-dimensional arrays, which can be slow, you can do the following:
$res = json_decode( json_encode( iconv( mb_detect_encoding($res, mb_detect_order(), true), 'UTF-8', $res ) ), true );
This will convert any character set to UTF8 and also preserve keys in your array. So instead of «lazy» converting each row using array_walk , you could do the whole result set in one go.
You can use string utf8_encode( string $data ) function to accomplish what you want. It is for a single string. You can write your own function using which you can convert an array with the help of utf8_encode function.
Vivek Sadh 4200
Similar Question and Answer
Due to this article is a good SEO site, so I suggest to use build-in function «mb_convert_variables» to solve this problem. It works with simple syntax.
mb_convert_variables(‘utf-8’, ‘original encode’, array/object)
Jerry Chen 31
A more general function to encode an array is:
/** * also for multidemensional arrays * * @param array $array * @param string $sourceEncoding * @param string $destinationEncoding * * @return array */ function encodeArray(array $array, string $sourceEncoding, string $destinationEncoding = 'UTF-8'): array < if($sourceEncoding === $destinationEncoding)< return $array; >array_walk_recursive($array, function(&$array) use ($sourceEncoding, $destinationEncoding) < $array = mb_convert_encoding($array, $destinationEncoding, $sourceEncoding); >); return $array; >
Sebastian Viereck 4989
Related questions and answers
The simple way tha works is:
array_map(callable $callback, array $array1, array $. = ?): array
//Example #1 Example of the function array_map() $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b); ?>
Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 )
Caique Andrade 827
Previous answer doesn’t work for me 🙁 But it’s OK like that 🙂
$data = json_decode( iconv( mb_detect_encoding($data, mb_detect_order(), true), 'CP1252', json_encode($data) ) , true)
pierre-david Houllé 21
You can send the array to this function:
function utf8_converter($array) < array_walk_recursive($array, function(&$item, $key)< if(!mb_detect_encoding($item, 'utf-8', true))< $item = utf8_encode($item); >>); return $array; >
You can use something like this:
Srihari Goud 848
array_walk_recursive( $array, function (&$entry) < $entry = mb_convert_encoding( $entry, 'UTF-8' ); >);
In case of a PDO connection, the following might help, but the database should be in UTF-8:
//Connect $db = new PDO( 'mysql:host=localhost;dbname=database_name;', 'dbuser', 'dbpassword', array('charset'=>'utf8') ); $db->query("SET CHARACTER SET utf8");
array_walk( $myArray, function (&$entry) < $entry = iconv('Windows-1250', 'UTF-8', $entry); >);
Mark Baker 206355
$utfEncodedArray = array_map("utf8_encode", $inputArray );
Does the job and returns a serialized array with numeric keys (not an assoc).
Max 2399
More Answer
- PHP How to convert each element of array to timestamp?
- How to convert JSON string into array PHP
- PHP How Do I Convert 2 Separate Strings Into An Associative Array (as Index & Value)
- How To Convert Array To XML With Condition On PHP
- How to convert php array into javascript array for Highchart JS
- how to convert a string with brackets to an array in php
- How to Convert Json Array To PHP Array
- How to compare two array values in PHP
- How to Identify array with same value and put in a big array in PHP
- Convert string into array using php
- PHP How to access this array GLOBALLY?
- How can i POST the NSMutable Array to php file in objective c
- How to pass results from methods in PHP as variables / array into Twig and display in the html?
- How do I make a JavaScript Array in PHP going of the last array number id +1?
- How to Convert English to Spanish using php
- How to use an input field name stored as a string as php array indicies
- How to convert from one by one to a mass output using PHP
- how to convert to c# code in php pack(‘s’) method
- How to Parse XML style HTTP Post Return to Variables or Array with PHP 5.1.6
- how to convert date string to time interval in PHP
- PHP How to calculate duplicate values in array
- How to show the values from a PHP array in a textfield, based on a dropdown menu
- How to pass a php array of string values to a javascript variable
- How do PHP array comparison functions work?
- How to deserialize an PHP array with GSON
- How do you post using jquery an associated array inside and array to a php script for proccessing
- How can i parse a PHP array from Android SDK?
- How to match numbers in an array in PHP
- How transform a php multidimensional array into a new array using the first column as key?
- PHP : How to get the current value of an array being traversed within an inbuilt function like strpos?
- i want to display the value from the array displayed below, how to write a syntax in PHP to get the result display?
- how to convert zend framework php code to cakephp
More answer with same ag
- PHP Insert ‘&’ / and text symbol in a string
- UDP write to socket and read from socket at the same time(again with modification)
- How to handle Memory leak in PHP generated by «new» method of class
- cache for a dynamic css file in php
- preg_match formatting results
- Cannot read property ‘length’ of undefined error
- How to find the route param from the top level middleware in Slim
- cast simplexmlelement to string to get inner content but keep htmlspecialchars escaped
- Add content to div with php dynamically
- How to get parameters of a service inside symfony controllers?
- JavaScript tag is generating break in HTML code
- Circular dependency avoidance with Session class
- Not able to pass arguments in shell_exec function
- translate php id’s to xml for helping clients with itunes
- Does anyone see why my preg_match RegEx is not returning results?
- Pipling STDOUT to script not activating script
- Magento Integration with ERP
- CSS & PHP with Grid Layout — dynamic data from mysql — creating heading for each group of rows
- htaccess rewrite query string
- Is my email header correct?
- JavaScript confirm box with redirect
- XML Soap request with no header credentials
- PCRE to find all possible matching values
- json_encode not returning anything when statement is true
- Stripe checkout redirect with customer id
- Notification bar and adding a browser out-dated script
- problems with php in a string assigned to a php variable
- JavaScript quotation marks change after echo
- Code Layout for getters and setters
- Does require in PHP slow the site down?
- how, if a value is passed to a textbox from ajax on success, then how to use that value with sql where clause
- CURL in php to C# .Net
- Simple php program displaying no output or error msg
- How to set the values of some fields in symfony entity classes
- Parse duration time string
- how to define and walk through array of array
- echo login error in different page, specific div
- Updating single cells in batch using googlespreadsheet api v4?
- Validation doesn’t work for second form in controller
- How to get the duration of an inserted time by inserting another one with minute:seconds:milliseconds?
- Unable to read Integer in PHP
- URL rewriting PHP losing querystring
- Onchange multiple select how to sum up the total in other input value
- Can I use autowired EntityManager across different services with DB locking?
- How to know in which array the data is located in PHP
- figuring out which onclick event youre using and sending that to a handler
- Trouble searching array key => values with another array
- Only allow image on ajax upload
- Fatal error:Call to undefined function
- Custom Data send from excel file to .csv file in PHP
Как преобразовать массив PHP в UTF8?
Выполняет ли задание и возвращает сериализованный массив с числовыми клавишами (не ассоциированным).
array_walk( $myArray, function (&$entry) < $entry = iconv('Windows-1250', 'UTF-8', $entry); >);
В случае подключения PDO может помочь следующее: база данных должна быть в UTF-8:
//Connect $db = new PDO( 'mysql:host=localhost;dbname=database_name;', 'dbuser', 'dbpassword', array('charset'=>'utf8') ); $db->query("SET CHARACTER SET utf8");
U может использовать что-то вроде этого
Более общая функция для кодирования массива:
/** * also for multidemensional arrays * * @param array $array * @param string $sourceEncoding * @param string $destinationEncoding * * @return array */ function encodeArray(array $array, string $sourceEncoding, string $destinationEncoding = 'UTF-8'): array < if($sourceEncoding === $destinationEncoding)< return $array; >array_walk_recursive($array, function(&$array) use ($sourceEncoding, $destinationEncoding) < $array = mb_convert_encoding($array, $destinationEncoding, $sourceEncoding); >); return $array; >
Из-за этой статьи хороший сайт SEO, поэтому я предлагаю использовать встроенную функцию mb_convert_variables» для решения этой проблемы. Он работает с простым синтаксисом.
mb_convert_variables(‘utf-8’, ‘original encode’, array/object)
Вы можете использовать функцию string utf8_encode( string $data ) , чтобы выполнить то, что вы хотите. Это для одной строки. Вы можете написать свою собственную функцию, используя которую вы можете преобразовать массив с помощью функции utf8_encode.
Вместо использования рекурсии для работы с многомерными массивами, которые могут быть медленными, вы можете сделать следующее:
$res = json_decode( json_encode( iconv( mb_detect_encoding($res, mb_detect_order(), true), 'UTF-8', $res ) ), true );
Это преобразует любой набор символов в UTF8, а также сохранит ключи в вашем массиве. Поэтому вместо «ленивого» преобразования каждой строки с помощью array_walk вы можете сделать весь набор результатов за один раз.
Ещё вопросы
- 1 Java: независимая запись звука с 2 разных микрофонных входов
- 0 Проверка в PHP не понимается
- 0 Подменю на заказ JQuery
- 0 window.location.href или $ (location) .attr (‘href’) и польские диакритические знаки
- 1 Как панды заменяют значения NaN средним значением, используя groupby [duplicate]
- 1 Как получить данные из базы данных в реальном времени в Firebase?
- 0 Вызов функции в классе, который расширяет текущий абстрактный класс
- 0 Вызовите функцию jquery, когда новый элемент отображается на странице
- 1 Массовая вставка текстового файла в SQL Server с помощью pymssql
- 0 Объекты Qt в области просмотра OpenGL
- 0 Как сделать так, чтобы моя строка меню не выходила за пределы экрана?
- 1 Хранимая процедура не выполняется ASP.NET C #
- 1 Один однократный фильтр для всех запросов ко всем сервлетам
- 0 Изменить цвет шрифта в таблице в зависимости от значения строки в php
- 0 Как можно передать идентификатор с одного маршрутизатора на другой в Node.js
- 1 Классификация с использованием классификатора Бернулли в Lingpipe
- 1 Как сделать резервную копию всех ключей реестра Windows в C #
- 1 вставить новый экземпляр, используя API GCE
- 1 Функция хеширования Java MD5, дающая неправильный хеш
- 0 MySQL провайдер данных .NET Core 2.0
- 1 Группировать массив объектов javascript на основе значения в свой собственный массив объектов
- 0 Элементы управления JQuery UI не работают после загрузки jquery.js после jquery.ui.js
- 1 Как получить неуправляемый C-массив переменной длины в структуре из C в C #?
- 0 Изменить css объекта, используя jquery, итерируя по массиву объектов
- 0 Используйте JavaScript для пометки слова из списка
- 0 Перемещение нижнего колонтитула, которое исчезает, когда вы достигаете конца
- 1 Как я могу обрабатывать изображения с OpenCV параллельно, используя многопроцессорность?
- 0 Загрузить ifame onclick и событие KeyPress
- 1 Почему мои темы не заканчиваются
- 0 Как применить те же правила, которые определены в файле JS, содержащем все правила в document.ready (..), к новым сообщениям?
- 0 Конкатенация динамического целочисленного значения в функции php
- 1 удалить список элементов из ObservableCollection , определенный DateTime
- 0 Пользовательская роспись в DataGridView, странное визуальное отображение
- 0 Функция фильтрации wxCheckListBox
- 0 Поместите условие для ng-submit в несколько строк
- 0 Ошибка проверки angularjs для поля ввода
- 1 Проблемы с парсингом Beautiful Soup XML в Python
- 1 Метод запуска Windows C # в определенное время
- 0 Мой SQL работает очень медленно из-за `Order by` &` Limit`
- 0 Как создать таблицу «соединения» с информацией о двух отдельных таблицах в MySQL?
- 1 Расширение MVC — привязка модифицированного лямбда-выражения
- 1 Dagger 2 Android — зависимости inject () в ViewModels vs Application со ссылками на зависимости
- 0 INNER JOIN полезен здесь? [Дубликат]
- 0 CSS выровнять div с текстовым полем
- 0 Как использовать миллисекунды в сиквелизировании стандартного поля созданного на месте?
- 0 Приведение / разыменование указателей на символы в двойной массив
- 1 Интерполяция в пандах по горизонтали не зависит от каждой строки
- 0 Поиск алгоритма ближайшего соседа с использованием координат карты Google
- 0 MySQL не может отображать полные данные
- 0 jQuery inArray не работает