0

私は友人のためにカスタム CMS システムに取り組んでおり、ほぼ完成しています。管理パネルには、編集可能なすべてのページを含むサイドバーがあり、各編集ページには、wysiwyg エディターを備えたテキストエリアが含まれています。すべてのページに同じコードがあり、ほとんどのページは夢のように機能します。

ただし、一部のページは正常に動作しません。それらはすべて、入力すると単純なテキストを保存し、ページに表示されます。このサイトは、この CMS を背後で構築する前に存在していたため、大量のテキストを含むページがたくさんあるため、タグなどを含む元のコードからすべてのテキストをコピーしただけです。私が言ったように、ほとんどは夢のように機能しますが、そうでない部分もあります。たとえば、この順序付けられていないリストはどのテーブル行にも収まらず、その理由がわかりません:

<h1>Kursseja ja opintoja joita olen suorittanut:</h1>
<ul class="lista">

    <li>Koiranomi  koulutus, (ohjaaja / kouluttaja Paula Speer)  8/2008-12/2009</li>
    <li>Luento ’ Koirien käyttäytyminen uusimman tutkimustiedon valossa’ (luennoitsija Tuire Kaimio, järj. Suuret Laumanvartijarodut ry)  2.9.2008</li>
    <li>Gerard O'Shean näyttelyesittämiskurssi  23.-24.9. 2008</li>
    <li>PDTE yhdistyksen  viikonloppu seminaari 27-28.9.2008</li>
    <li>Koiran luonnonmukainen ruokinta perusluento (luennoitsija Malin Ekblom) 11.11. 2008
    </li>
    <li>Koiran luonnonmukainen ruokinta syventävä luento (luennoitsija Malin Ekblom)  3.12. 2008</li>
    <li>HETI:n Jalostuksen ABC -luentopäivä 10.1.2009</li>
    <li>SKL toko koulutusohjaaja kurssi 3/2009 </li>
    <li>Mejä -leiri, järjestäjä Ulla Honkanen  16-17.5.2009</li>
    <li>Esa K Viitala: Etsintäkoiraleiri 6/2009</li>
    <li>Koulutuspäivä "Postiivisen vahvisteen tekniikka sekä siihen liittyvät välineet” (koulutusneuvoja Tommy Wiren) 8/2009</li>
    <li>Trainers Choice koulutustekniikan peruskurssi eli kanakurssi  I   23.25.10.2009</li>
    <li>SKL kasvattajan peruskurssi  14-15.11.2009</li>
    <li>Liikkuminen ja kivun vaikutus koiran käytökseen (luennoitsija Leena Piira) 13.2.2010</li>
    <li>James Serpell seminaari  15.5.2010</li>
    <li>KIVA-teamin rotutuntemusviikonloppu (kouluttaja David Selin) 29.-30.5.2010</li>
    <li>Naksutin koulutus seminaari (kouluttaja Morten Egtvedt) 12.6.2010</li>
    <li>Trainers Choice koiulutustekniikan peruskurssi eli kanakurssi  II   2-4.7.2010</li>
    <li>KIVA TEAM tunne koirasi kurssi 11.-12.9 / 9.-10.10. / 6.-7.11 2010 </li>
    <li>Trainers Choice koulutustekniikan peruskurssi eli kanakurssi III 25-28.11.2010</li>

</ul>

データベースを更新するファイルは次のとおりです。

<? $pagename = 'Location:http://edit.xxx.fi/pages/'.$_POST[PageName];?>
<?php 
include 'mysqlconnection.php';
mysql_query("UPDATE Content SET Content='$_POST[edit]' WHERE PageName='$_POST[PageName]'");
mysql_close($con);
?>
<?php 
header($pagename);
?>

そして、コンテンツを更新するテキストエリアを含む管理パネル部分は次のとおりです。

<div class="content">
                <?php include 'sidebar.php';
                $pagename = basename($_SERVER['REQUEST_URI']);?>
                    <form action="save.php" method="post" style="margin-left:400px; height:600px; overflow:hidden; width:530px; margin-top:-1px;">
                        <p>Editoi sivun <strong><? echo $pagename; ?></strong> sisältöä<br>
                        <small style="font-size:10px;">Huom: Tällä sivulla oleva koulutuslista estää sivun tallentumisen tietokantaan jostain syystä, eli koulutuslista on tallennettu suoraan Susanna sivun lähdekoodiin. Sinne pitää lisätä tiedot käsin. </small></p>

                        <textarea class="editor"
                        name="edit" style="width:500px; height:300px;"><?php 
        include 'mysqlconnection.php';
        $result = mysql_query("SELECT * FROM Content WHERE PageName='$pagename'"); 
        while($row = mysql_fetch_array($result))
  {

  echo $row['Content'];
  }?></textarea>
                        <input type="hidden" value="<? echo basename($_SERVER['REQUEST_URI'])?>" name="PageName">
                        <input type="submit" value="Tallenna" class="submit">
                    </form>
                    <br>
                    <div style="height:600px; width:500px; border:1px solid black; margin-left:400px; position:absolute; left:300px; top:500px; overflow:auto;">
                    <?php 
        include 'mysqlconnection.php';
        $result = mysql_query("SELECT * FROM Content WHERE PageName='$pagename'"); 
        while($row = mysql_fetch_array($result))
  {

  echo $row['Content'];
  }?>
                    </div>

ページ名の htaccess 書き換えを使用してファイル拡張子を削除しているので、誤解しないでください。

私はこれで何が間違っているのでしょうか?phpmyadmin を使用すると、データがデータベースに更新されますが、ä と ö が正しく機能せず、次のように表示されます。

4

2 に答える 2

0

試す

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

header('content-type: text/html; charset: utf-8'); 

データベースにこれらの文字が保存されていることを確認します (フィールドの照合順序を utf8_swedish_ci などに設定します)。

そうでない場合

キャラクター設定 utf8

セット名 utf8

于 2012-06-29T09:04:52.087 に答える
0

文字セットの問題により、� が表示されます。これを回避する最善の方法は、すべてを UTF-8 エンコーディングに変更することです。

また、DaveRandom が言ったように、テキストの一部が切り取られている場合、問題は間違った列タイプにある可能性があります。データベースに挿入する前に、すべての文字をエスケープすることもお勧めします。

于 2012-06-29T09:05:33.737 に答える