jQuery可以转换ASCII和Unicode字符吗?



我们有一些ASCII和Unicode字符,我们希望用户在将文本插入表单的文本和文本区域字段时使用。

例如

$SpecialCharacters = array(
    'single quotes'=>''',
    'double quotes'=>'"',
    'copyright'=>'©',
    'registered'=>'®',
    'trademark'=>'™',
);

我们使用jQuery UI拖放将选定的非标准字符从工具栏移动到输入字段。这工作正常。

但是,当数据保存到MySQL数据库(使用PHP)并返回时,非标准字符以格式错误的编码返回。

  • 用户输入:bill.onthebeach™
  • 返回的页面显示:bill.onthebeachâ¢

一切都是 UTF-8 编码的。

所以我认为这应该可以解决问题:

  • 用户输入:bill.onthebeach™
  • 返回的页面显示:bill.onthebeach™

问题是,是否有一个jQuery函数或插件可以将非标准字符转换为其编码形式?

 ™ => ™

或者,问题出在其他地方吗?如果是这样,解决方案是什么?

问题是,是否有一个jQuery函数或插件可以将非标准字符转换为其编码形式?

您说"非标准字符",但实际上是指"HTML字符引用"。无论如何,你可以通过使用JavaScript库来实现你想要的:

he.encode('bill.onthebeach™');
// → 'bill.onthebeach™'
he.decode('bill.onthebeach™');
// → 'bill.onthebeach™'
he.decode('bill.onthebeach™');
// → 'bill.onthebeach™'

但是,问题的根源似乎在其他地方 - 在运行时使用he是没有意义的。

据我所知,Javascript总是UTF-8。这是一个你无法改变的标准。我浪费了很多时间使用 PHP 来更改我处理的旧页面的字符串编码,然后我发现您只需要将 MySQL 连接设置为 utf8,将 HTML 页面设置为 <meta charset="UTF-8"> 即可。

只要您设置了这两个设置并且您的字符在 HTML 中看起来不错,无论如何您都应该没问题。

我猜是您的MySQL连接或HTML页面缺少utf8设置。此外,如果您有这些设置,则数据库字段使用哪种排序规则完全无关紧要。

谢谢大家...

以下是有效的基础知识...长版本对于我们的目的来说太具体了,没有用。

  1. TRiG和其他人是对的...UTF-8 "一路走来"...意思是"一路走来"... 数据库和表设置为 - UTF8_unicode_ci

  2. 但是,如果你在你的 php 中这样做和这个 -

    $data = utf8_encode($data);

特殊字符将显示"乱码"...所以不要两者兼而有之...

  1. jQuery可拖动/可放置对象'ui'....确实为我们提供了在页面上使用特殊字符执行操作的选项,例如搜索和替换...... 找到这个...

    var char = ui['helper

  2. ']['prevObject'][0]['firstChild']['data']

之后一切都是全速直行...

我们已经让它在html,ascii和unicode特殊字符上流畅地工作。

相关内容

  • 没有找到相关文章

最新更新