Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Php array rozwala kodowanie
toaspzoo
post
Post #1





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Witam,

Mam problem z tablicą, która prezentuje się tak:

  1. $crossword = array(
  2. "questions" =>array("Ma go krowa. Oraz kartka.","Okrągłe","Mały ptak","Trzymasz w nim przybory szkolne","Nie zając, lecz?","?wiosny nie czyni."),
  3. "phrases" =>array("róg","kółko","wróbel","piórnik","królik","jaskółka"),
  4. "code" =>"górnik"
  5. );


print_r() działa prawidłowo, wypisując wszystko pięknie z polskimi ogonkami.

Natomiast, gdy chcę wypisać jedną literę indeksu, pojawia się problem w postaci błędnego kodowania ? ?.

  1. echo $crossword["phrases"][0][1];
// powinno wypluć "ó", a wypluwa "?"

Problemem może być to, że "ó" jest rozdzielane na dwa "?", ale nie chcę ich za każdym razem łączyć...

_________

Problem rozwiązany. Dla potomnych.

Trzeba rozbić string na tablicę
  1. preg_split('//u', $code, 0, PREG_SPLIT_NO_EMPTY);

str_split nie obsługuje utf-8

Ten post edytował toaspzoo 31.10.2014, 22:35:24


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ale już mb_split tak

A Twoja konstrukcja dobierania się do literki działa dopiero w php 5.5 lub 5.6

Ten post edytował Pyton_000 2.11.2014, 08:19:00
Go to the top of the page
+Quote Post
toaspzoo
post
Post #3





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


@Pyton_000

mb_split także próbowałem, nic z tego.


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
kreatiff
post
Post #4





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


A tak? Bez wyrażeń reg. i rozbijania na tablicę.
  1. $a = 'róg';
  2. echo mb_substr($a, 1, 1, 'UTF-8');


Ten post edytował kreatiff 5.11.2014, 23:15:38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:19