Помогнете с charset

Fozzy

Well-Known Member
Приятели, помагайте, моля. От два дена се мъча с този прост енкодинг и очите ми са станали на компот. Проблема е в шибания немски с неговите умлаути.

Та, когато добавям нещо чрез този код:

Код:
<form method="post" enctype="multipart/form-data" id="Compose" name="Compose">
<p>title <input name="title" type="text" class="input" id="title" size="35" maxlength="100"></p>
<p>meta description <input type="text" name="keywords" id="keywords" size="53"></p>
<textarea cols="40" rows="20" name="text"></textarea>
<input name="submit" type="submit" value="submit" onClick="SetVals()">
  </form>

Във всички полета се записва ок, но в textarea-та вместо "KÖLN" се записва "K&Ouml;LN"

Първоначално се визуализира, но после ако тръгна да редактирам страницата и всичко се оплесква.

Използвам utf-8 навсякъде. Спасявайте ме, че полудях.

Поздрави!
 
От: Помогнете с charset

В базата ли се записва K&Ouml;LN ?
 
От: Помогнете с charset

Това не ти е database проблем, а го променя CMS-та ти най-вероятно
 
От: Помогнете с charset

В базата ли се записва K&Ouml;LN ?

Да.

Давайте съвети и идеи. Ако го променя ръчно в базата, всичко излиза точно, но става въпрос 2-3 пъти месечно да се променят статии с по над 1000 думи. Ако тръгна да заменям всички умлаути през phpmyadmin, направо си е издевателство.
 
От: От: Помогнете с charset

Този код прави същото:

PHP:
<?php
header("content-type: text/html; charset=utf-8");
if($_POST){   
    // echo htmlentities($_POST['text'], ENT_QUOTES, 'utf-8');
    echo htmlspecialchars(htmlentities($_POST['text'], ENT_QUOTES,  'utf-8'));
}
?>
<form method="post" enctype="multipart/form-data" id="Compose" name="Compose">
    <textarea cols="40" rows="2" name="text">KÖLN</textarea><br />
    <input name="submit" type="submit" value="submit" onClick="SetVals()">
</form>
Вероятно след събмита на формата някъде се обработва $_POST['text'] с htmlentities или някоя подобна функция. Ако е така би могъл да я махнеш. Или ако е с htmlentities може просто да я смениш с htmlspecialchars.

Ако тази форма е достъпна за всички потребители и махнеш обработките трябва да видиш по какъв начин да си почистиш текста от недопустими текстове, например <script>alert('Сайта ви е малко хакнат :)')</script>.
 
От: Помогнете с charset

Мерси, Васко, ще пробвам по-късно днес и ще драсна.

Формата е достъпна само за администратора.
 
От: Помогнете с charset

Сетих се и какво ти причинява проблема :) - TinyMCE редактора ги енкодва така тези буквички.
 
От: Помогнете с charset

Няма значение, нали го оправихме :)

Искам да изкажа ГОЛЯМАТА си благодарност към vaskoa. С него се свързах по Скайп и това, което аз 2 дена се мъчих да направя, той свърши за 5-10мин.

Мерси, мерси, мерси :)
 
От: Помогнете с charset

Няма значение, нали го оправихме :)

Човъркаше ме отвътре ... :)
 

Горе