jquery查找并替换html代码的重音符号

时间:2012-02-13 17:11:04

标签: php jquery mysql replace non-ascii-characters

我正在使用PHP,jQuery和mySQL在我的网页上构建一个管理站点。 在此管理部分的其中一部分中,我使用<textarea>元素来编写多行。 我是西班牙语,我使用áéíúú和ñ字母。

我正在寻找任何替代á到&amp; aacute的脚本;

此外,我仍然无法向mySQL发送<textarea>内容。

<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.

当用户请求mysql从表中读取内容时,最后一件事就是替换áéíóú和ñ字母。 áéíóú在此表中,我想在用户请求内容时实时替换

2 个答案:

答案 0 :(得分:1)

尝试删除你的反手

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

确保您的数据库位于utf-8字符集

答案 1 :(得分: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);
?>