2012-02-13 53 views
1

我使用PHP,jQuery和mySQL來建立一個管理網站到我的網頁。 在此管理部分的一部分中,我使用<textarea>元素來編寫多行。 我是西班牙人,我用áéíóú和ñ字母。jquery查找和替換html代碼的口音

我正在尋找任何腳本取代á到& aacute;

此外,我仍然有問題發送<textarea>內容到MySQL。

<form action="this_file.php" method="POST"> 
    <textarea class="inputcat" type="text" cols="40" rows="5" name="content"></textarea> 
    <input type="submit" value="upload text" name="submit"> 
</form> 
<?php 
//allow sessions to be passed so we can see if the user is logged in 
session_start(); 
//connect to the database so we can check, edit, or insert data to our users table 
$con = mysql_connect('localhost', 'user', 'pass') or die(mysql_error()); 
$db = mysql_select_db('dbname', $con) or die(mysql_error()); 
    if(isset($_POST['submit'])){ 
     //insert the row into the database 
     $contenido = $_POST['content']; 
     $SQL = "INSERT INTO table1 (`ct`) VALUE('" .$contenido. "')";//edited sytanx 
     $result = mysql_query($SQL) or die(mysql_error()); 
    } 
?> 

的錯誤是:

Unknown column 'ìmg' in 'field list' 
fixed error. 

最後一件事就是更換AEIOU和正信當用戶請求的MySQL讀取從表中的內容。 AEIOU在這個表,我想在實時更換,當用戶請求的內容

+2

是UTF-8字符集的數據庫? – coppettim 2012-02-13 17:14:32

+0

是的。 utf-8.general.ci – 2012-02-13 17:19:54

回答

1

試這個。

PHP

<?php 
$GLOBALS['normalizeChars'] = array(
'Á'=>'&Aacute;', 'É'=>'&Eacute;', 'Í'=>'&Iacute;', 'Ó'=>'&Oacute;', 'Ú'=>'&Uacute;', 'Ñ'=>'&Ntilde', 'á'=>'&aacute;', 'é'=>'&eacute;', 'í'=>'&iacute;', 'ó'=>'&oacute;', 'ú'=>'&uacute;', 'ñ'=>'&ntilde'); 

function makeit($toChange){ 
return strtr($toChange, $GLOBALS['normalizeChars']); 
} 

//call makeit function before you read $row content with special characters, I mean: 

$connection = mysql_connect('localhost','user','pwd') or die(mysql_error()); 
$db = mysql_select_db('dbname', $connection) or die(mysql_error()); 
$SQL = "SELECT * FROM tablename"; 
$result = mysql_query($SQL); 
while ($row = mysql_fetch_array($result)) { 
// imagine that exist a column called content with special chars 
makeit($row['content']); 
echo $row['content']; 
} 
mysql_close($connection); 
?> 
+0

偉大的工作7thkernel。就是這個方法 !!!! – 2012-02-13 20:19:11

1

嘗試刪除你的反引號

$SQL = "INSERT INTO table1 ('ct') VALUE('" .$contenido. "')"; 

,並確保您的數據庫是UTF-8字符集

+0

我已刪除,所有似乎都是一樣的。它不起作用 – 2012-02-13 17:29:53

+0

把'echo $ SQL; break;'在這行之前'$ result = mysql_query($ SQL)或者死(mysql_error());'......在這裏顯示你得到的結果 – coppettim 2012-02-13 17:31:41

+0

顯示數組但是看到發送提交值很有趣...它可能是問題嗎? – 2012-02-13 17:35:06