1

我正在使用 PHP、jQuery 和 mySQL 为我的网页构建一个管理站点。在这个管理部分的一个部分中,我使用一个<textarea>元素来写几行。我是西班牙人,我使用 á é í ó ú 和 ñ 字母。

我正在寻找任何将 á 替换为 á 的脚本

此外,我仍然无法将<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.

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

4

2 回答 2

1

尝试删除你的反引号

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

并确保您的数据库是 utf-8 字符集

于 2012-02-13T17:18:27.487 回答
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);
?>
于 2012-02-13T20:18:28.493 回答