【问题标题】:jquery find and replace accents to html codejquery查找和替换重音到html代码
【发布时间】:2012-03-05 02:30:48
【问题描述】:

我正在使用 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 从表中读取内容时替换 áéíóú 和 ñ 字母。 áéíóú 在此表中,我想在用户请求该内容时实时替换

【问题讨论】:

  • 你的数据库是 utf-8 字符集吗?

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


【解决方案1】:

尝试删除你的反引号

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

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

【讨论】:

  • 在这行之前加上echo $SQL;break; $result = mysql_query($SQL) or die(mysql_error()); ...在这里显示你得到的东西
  • 显示数组,但有趣的是看到发送提交值......这可能是问题吗???
  • 肯定是...而不是之前的 echo put:echo '&lt;pre&gt;';var_dump($SQL);echo'&lt;/pre&gt;';
  • 我明白了!!!!!!在我的真实 html 中,我使用了一个名为 img 的列,但我的 SQL 代码将其称为 ìmg。那是我的错误。我只需要一个脚本来将 áéíóúñ 字母替换为 áéí ...非常感谢。
【解决方案2】:

试试这个。

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);
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2016-02-12
    • 2013-02-18
    相关资源
    最近更新 更多