Caracteres Especiais no DropDownList()

Estou com um problema, quando eu carrego o array da dos itens com &nbsp ele nao esta carregando da foma correta, ele carrega assim:




<select class="tres testecombo" name="Categoria[parent]" id="Categoria_parent">

<option value=""></option>

<option value="1" selected="selected">   root</option>


<option value="2">&amp;nbsp   First Entry</option>

<option value="3">&amp;nbsp   Second Entry withoud Childs</option>

<option value="5">&amp;nbsp&amp;nbsp   Child of the third Entry</option>

<option value="6">&amp;nbsp&amp;nbsp&amp;nbsp   Child of the Child of the third Entry</option>

<option value="18">&amp;nbsp&amp;nbsp&amp;nbsp   testeste</option>

<option value="17">&amp;nbsp&amp;nbsp&amp;nbsp   testeste</option>

</select>



como poder ver eu concateno o espaço (&nbsp). Quando eu dou um print_r aparece ok, mais quando eu carrego no list ferra tudo ficando (&amp;nbsp)

Alguem poderia me dar uma ajuda de como deixar a forma correta. A minha aplicaçao esta configurada para charset UF8

Edson,

Para usar espaço o correto é &nbsp;

Estou vendo que a maioria está nbsp

Então Newerton,

Mesmo com o ponto e virgula continua dando erro:




<select class="tres" name="Categoria[parent]" id="Categoria_parent">

<option value="">Categoria Pai</option>

<option value="1">   root</option>

<option value="2">&amp;nbsp;    First Entry</option>

<option value="28">&amp;nbsp; &amp;nbsp;    qwe</option>

<option value="3">&amp;nbsp;    Second Entry withoud Childs</option>

<option value="5">&amp;nbsp; &amp;nbsp;    Child of the third Entry</option>


<option value="6">&amp;nbsp; &amp;nbsp; &amp;nbsp;    Child of the Child of the third Entry</option>

<option value="26">&amp;nbsp; &amp;nbsp;    qweqw</option>


....



condigo onde monta o array




public function getListed($nivel = 0) {

            

 

            

            $subitems = array();

            if($this->childs) 

                    foreach($this->childs as $child) {

                        $subitems = $subitems + $child->getListed($nivel + 1);

                    }

                         

            $returnarray = array($this->id => str_repeat('&nbsp; ', $nivel) . '   ' . $this->nome);

            if(sizeof($subitems) > 0){ 

                $returnarray = $returnarray + $subitems;

            }

            return $returnarray;

        }



Como eu disse o problema deve estar no retorno no droplist.

Estranho que está removendo no & do &nbsp;

Veja se assim funciona:




...

$returnarray = array($this->id => str_repeat(utf8_encode('&nbsp; '), $nivel) . '   ' . $this->nome);

...



Se o utf8_encode() não sutir efeito, tenta o utf8_decode()

Brodi eu ja estou ficando louco…hahah

Nenhuma das suas opçoes deram certo. Realmente ele converte o & para &amp; nao sei porque. o Problema é so no droplist.

Tenta ae

http://www.yiiframework.com/forum/index.php?/topic/20700-html-entities-in-chtmldropdownlist/

valeu brodi vou testar…

Mais continuando falando sobre o droplist vc poderia me explicar qual a diferença entre dropDownList() e activeDropDownList(), em qual eu uso um ou outro.