Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Tôi có một mảng:

require_once ('config.php');
require_once ('php/Db.class.php');
require_once ('php/Top.class.php');

echo "db";

$db = new Db(DB_CUSTOM);
$db->connect();

$res = $db->getResult("select first 1 * from reklamacje");

print_r($res);

Tôi muốn chuyển đổi nó từ Windows-1250 thành UTF-8, vì tôi có các ký tự như �

Best.

Khi được hỏi ngày 22 tháng 5 năm 2013 lúc 9:26May 22, 2013 at 9:26

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

4

$utfEncodedArray = array_map("utf8_encode", $inputArray );

Công việc và trả về một mảng tuần tự với các khóa số (không phải là PGS).

Đã trả lời ngày 5 tháng 11 năm 2013 lúc 21:09Nov 5, 2013 at 21:09

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

MaxmaxMax

2.40921 Huy hiệu bạc26 Huy hiệu đồng21 silver badges26 bronze badges

3

array_walk(
    $myArray,
    function (&$entry) {
        $entry = iconv('Windows-1250', 'UTF-8', $entry);
    }
);

Đã trả lời ngày 22 tháng 5 năm 2013 lúc 9:31May 22, 2013 at 9:31

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Mark Bakermark BakerMark Baker

207K31 Huy hiệu vàng339 Huy hiệu bạc381 Huy hiệu Đồng31 gold badges339 silver badges381 bronze badges

Trong trường hợp kết nối PDO, những điều sau đây có thể giúp ích, nhưng cơ sở dữ liệu phải có trong UTF-8:

//Connect
$db = new PDO(
    'mysql:host=localhost;dbname=database_name;', 'dbuser', 'dbpassword',
    array('charset'=>'utf8')
);
$db->query("SET CHARACTER SET utf8");

Đã trả lời ngày 25 tháng 12 năm 2014 lúc 20:38Dec 25, 2014 at 20:38

TorstentorstenTorsten

Phù hiệu bằng đồng 1711 Huy hiệu đồng1 silver badge2 bronze badges

1

Có một cách dễ dàng

array_walk_recursive(
  $array,
  function (&$entry) {
    $entry = mb_convert_encoding(
        $entry,
        'UTF-8'
    );
  }
);

Đã trả lời ngày 9 tháng 9 năm 2016 lúc 6:44Sep 9, 2016 at 6:44

PHPDevphpDevphpdev

1511 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

1

Bạn có thể sử dụng một cái gì đó như thế này:

<?php
array_walk_recursive(
$array, function (&$value)
{
 $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8');
}
);
?>

John

Huy hiệu vàng 12K1190 Huy hiệu bạc157 Huy hiệu đồng11 gold badges90 silver badges157 bronze badges

Đã trả lời ngày 12 tháng 9 năm 2013 lúc 12:31Sep 12, 2013 at 12:31

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

0

Bạn có thể gửi mảng đến chức năng này:

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;
}

Nó hoạt động cho tôi.

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Đáng giá

1.2061 Huy hiệu vàng16 Huy hiệu bạc18 Huy hiệu đồng1 gold badge16 silver badges18 bronze badges

Đã trả lời ngày 22 tháng 7 năm 2020 lúc 17:57Jul 22, 2020 at 17:57

Ông Panchomr. PanchoMr. Pancho

891 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

Câu trả lời trước đây không phù hợp với tôi :( nhưng nó ổn như vậy :)

         $data = json_decode(
              iconv(
                  mb_detect_encoding($data, mb_detect_order(), true),
                  'CP1252',
                  json_encode($data)
                )
              , true)

Đã trả lời ngày 5 tháng 11 năm 2019 lúc 22:15Nov 5, 2019 at 22:15

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Bạn có thể sử dụng hàm

$utfEncodedArray = array_map("utf8_encode", $inputArray );
2 để thực hiện những gì bạn muốn. Nó là cho một chuỗi duy nhất. Bạn có thể viết chức năng của riêng mình bằng cách sử dụng mà bạn có thể chuyển đổi một mảng với sự trợ giúp của hàm UTF8_ENCODE.

Đã trả lời ngày 22 tháng 5 năm 2013 lúc 9:30May 22, 2013 at 9:30

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Vivek Sadhvivek SadhVivek Sadh

4.2002 Huy hiệu vàng30 Huy hiệu bạc48 Huy hiệu đồng2 gold badges30 silver badges48 bronze badges

1

Do bài viết này là một trang web SEO tốt, vì vậy tôi đề nghị sử dụng chức năng tích hợp "mb_convert_variables" để giải quyết vấn đề này. Nó hoạt động với cú pháp đơn giản.

$utfEncodedArray = array_map("utf8_encode", $inputArray );
3

Đã trả lời ngày 15 tháng 1 năm 2016 lúc 2:16Jan 15, 2016 at 2:16

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Jerry Chenjerry ChenJerry Chen

Huy hiệu bạc 311 Bạc51 silver badge5 bronze badges

0

Một chức năng tổng quát hơn để mã hóa một mảng là:

/**
 * 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;
}

Đã trả lời ngày 12 tháng 2 năm 2018 lúc 8:59Feb 12, 2018 at 8:59

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Cách đơn giản mà tha hoạt động là:

$utfEncodedArray = array_map("utf8_encode", $inputArray );
4

//Example #1 Example of the function array_map()

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Đầu ra của $ B là:

$utfEncodedArray = array_map("utf8_encode", $inputArray );
0

Đối với các chi tiết tương lai SRC -> PHP: Array_Map - Hướng dẫn sử dụng

Đã trả lời ngày 23 tháng 9 năm 2021 lúc 15:38Sep 23, 2021 at 15:38

Hướng dẫn php convert array to utf8 - php chuyển đổi mảng thành utf8

Thay vì sử dụng đệ quy để đối phó với các mảng đa chiều, có thể chậm, bạn có thể làm như sau:

$utfEncodedArray = array_map("utf8_encode", $inputArray );
1

Điều này sẽ chuyển đổi bất kỳ ký tự được đặt thành UTF8 và cũng bảo quản các phím trong mảng của bạn. Vì vậy, thay vì "lười biếng" chuyển đổi từng hàng bằng cách sử dụng

$utfEncodedArray = array_map("utf8_encode", $inputArray );
5, bạn có thể thực hiện toàn bộ kết quả được đặt trong một lần.

Đã trả lời ngày 16 tháng 8 năm 2014 lúc 23:26Aug 16, 2014 at 23:26

Josh Stuartjosh StuartJosh Stuart

1.5321 Huy hiệu vàng13 Huy hiệu bạc23 Huy hiệu đồng1 gold badge13 silver badges23 bronze badges

1

Làm cách nào để thay đổi mã hóa thành UTF

Làm thế nào để chuyển đổi một chuỗi thành UTF-8 trong Python ?..
String1 = "Apple" String2 = "preeti125" String3 = "12345" String4 = "pre@12".
sợi dây. mã hóa (mã hóa = 'UTF-8', lỗi = 'nghiêm ngặt').
# chuỗi unicode chuỗi = 'pythön!' # Mã hóa mặc định thành UTF-8 String_utf = String. Encode () in ('Phiên bản được mã hóa là:', String_utf).

Php mã hóa chuỗi nào?

Mã hóa nguồn mặc định được sử dụng bởi PHP là ISO-8859-1. Mã hóa mục tiêu được thực hiện khi PHP chuyển dữ liệu cho các chức năng xử lý XML.ISO-8859-1 . Target encoding is done when PHP passes data to XML handler functions.

UTF gì

UTF-8 (Định dạng chuyển đổi UCS 8) là mã hóa ký tự phổ biến nhất của World Wide Web.Mỗi ký tự được đại diện bởi một đến bốn byte.UTF-8 tương thích ngược với ASCII và có thể đại diện cho bất kỳ ký tự Unicode tiêu chuẩn nào.the World Wide Web's most common character encoding. Each character is represented by one to four bytes. UTF-8 is backward-compatible with ASCII and can represent any standard Unicode character.

Cách sử dụng UTF

Mã hóa PHP UTF-8-sửa đổi mã của bạn:..
Đặt UTF-8 thành ký tự được đặt cho tất cả các tiêu đề đầu ra bằng mã PHP của bạn.....
Chỉ định UTF-8 là loại mã hóa cho XML.....
Loại bỏ các ký tự không được hỗ trợ từ XML.....
Chỉ định UTF-8 là bộ ký tự cho tất cả nội dung HTML ..