问题标签 [smart-quotes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
586 浏览

php - 处理文件上传中的扩展 ASCII

我最近和朋友一起完成的一个网站有一个画廊,可以上传图片和文本文件。唯一接受的文本文件(以简化开发)是 .txt 并且通常会顺利关闭(或没有..)

我遇到的问题对于任何开发人员都是一样的:Microsoft 的扩展 ASCII。

在从文件中输出文本之前,我检查了几个不同的层以尝试清理它:

str_replace 是将 Microsoft 糟糕的智能引号、em-dash 和省略号转换为正常的 ASCII 等效项以进行输出的通用方法。

此代码在上传的文件为 ANSI/us-ascii 的情况下完美运行。

当上传的文件为 UTF-8 时,此代码不起作用(无特殊原因)。

当文件为 UTF-8 时,在 Web 浏览器中查看文件本身可以正常工作,但使用此代码通过 Web 界面将其打印出来则不行。在这种情况下,智能引号成为某种重音字符。

这就是我卡住的地方。网页的输出编码为 UTF-8,Web 浏览器将其视为 UTF-8,文件为 UTF-8,但智能引号的替换不起作用,Web 浏览器也无法正确显示它们。

对此的任何和所有帮助将不胜感激。

0 投票
4 回答
615 浏览

asp-classic - ASP 服务器端代码怎么会破坏智能引号 '?

我的公司刚刚将许多列从 varchar 转换为 nvarchar。

现在看来,当我们将智能引号(即 ALT+0146 ')渲染到屏幕上,然后将其发送回 SQL Server 2000 数据库进行持久化时,智能引号会损坏为 - ’ -。

我的问题:

ASP 服务器端代码如何破坏智能引用 ' ?

编辑:看来我的问题与类似。顺便说一句,Powerpoint 内容将智能引用引入了组合中。然而,正如我之前所说,我正在处理一个 ASP 页面,而引用的问题与 PHP 页面有关。

编辑:服务器端指令CODEPAGE=65001使页面正确呈现,但它仍然在 Windows 2000 框中将内容发布为“西欧”。有谁知道为什么?

0 投票
2 回答
1008 浏览

ruby - 在 Ruby 中清理 Word 中的“智能”字符

我需要清理用户输入中的各种 Word“智能”字符,包括但不限于以下内容:

是否有任何 Ruby 函数或库可以将它们映射到它们的 ASCII(接近)等价物,还是我真的需要做一堆手动 gsub?

0 投票
2 回答
1977 浏览

php - “智能引号”在来自 phpmailer 的电子邮件中未正确显示

我正在处理一个 LAMP 网络服务器。我有用户用来提交存储在 mysql 的文本字段中的文本的表单。通常这些文本是从 Microsoft Office 产品中复制和粘贴的,所以我得到了很多智能引号和破折号。如果我从数据库中检索它们并将它们显示在网页上,这些字符会正确显示,但我遇到麻烦的是使用 phpmailer 类在电子邮件中发送文本。我得到的东西看起来像这样: - (它应该是一个破折号)。

可能很重要的一件事:如果我在 mysql 中打开一个控制台并选择一个包含 emdash 或智能引号的字段,它将错误地显示在我的控制台上: - 但是,如上所述,如果我的 php页面(使用 PDO)选择字段并显示它,它将在浏览器中正确显示(在本例中为 emdash)。

我不确定是否有办法在 phpmailer 中选择字符集(可能是某个地方的简单设置?)或者是否有更好的方法来解决这个问题。不过,我想我应该清楚,“搜索并用常规等效项替换智能引号和破折号”不是我正在寻找的答案(希望这不是唯一的解决方案)。

我找到了这个信息:
我的 php 网页:utf-8
mysql 客户端编码:latin1
mysql 服务器编码:latin1
phpmailer 字符集:iso-8859-1

0 投票
2 回答
214 浏览

javascript - 问题“smartening”和链接解析相同的文本

我正在使用 jQuery 和一个非常简单的脚本来用它们的“智能”对应物替换引号、撇号和双破折号:

我将其用作TwitterJS的回调,它解析链接并生成如下块:

问题是,如果我这样做:

它破坏了链接,如果我这样做:

它完全丢弃它们。有没有一种聪明、健壮的方法来只抓取文本(<a>如有必要,也可以从标签中取出),“smarten”,然后将其放回去,而不干扰 TwitterJS 的链接解析?

0 投票
4 回答
2800 浏览

php - 用“正常”默认值替换 Word 特殊字符

由于用户从 Word 复制粘贴文本,如下所示:

它最终是:

我需要它是:

我正在寻找一个 PHp 库,它可以转换此类文本并以标准化的方式执行此操作,因为除了我在此处列出的字符之外,还有更多字符 - 例如(c)版权符号等......

0 投票
2 回答
337 浏览

vb.net - 是否有内置的 VB.net 函数将引号转换为智能引号

我想转

我沉迷于“花生”和“可可”

进入

我沉迷于“花生”和“可可”</p>

我该怎么做?有任何内置功能吗?

0 投票
0 回答
365 浏览

php - IE7 中的 Twitter 共享弹出窗口未正确编码智能引号

我正在构建一个 Wordpress 主题,其中每个帖子旁边都有一个 twitter 分享链接

如果文章标题包含智能引号,则在 IE8 及以下版本中,引号将替换为 '?'。

我尝试将智能引号转换为常规引号,将使用字符串替换的函数挂钩到保存或更新帖子的操作。这并没有解决问题。

我需要解决此问题的指导: + 我是否需要在我的代码中添加某种字符集声明,以便 IE8 及以下版本可以处理智能引号?+ 或者在 php 中是否有一种方法可以对 twitter 链接进行编码,以便将智能引号替换为常规引号?提前致谢。

更新: 我找到了解决办法。删除 wptexturize 过滤器可以解决问题: http: //www.malcolmcoles.co.uk/blog/wordpress-smart-quotes/

0 投票
2 回答
357 浏览

javascript - 将奇数匹配替换为印刷开引号,偶数匹配替换为印刷结束引号

我正在尝试用印刷引号(« 和 »)替换文本中的常规引号符号( " )。

有没有办法用 « 替换奇数引号匹配,偶数匹配 » ?

所以:你好“世界”!变成:你好«世界»!

此外,如果文本没有偶数个引号,它应该没有任何问题,因为这是为了“即时”执行

谢谢你的帮助!

0 投票
2 回答
1058 浏览

unicode - 是否有诸如智能引号和总是中断的破折号之类的字符的类别或名称?

许多人可能经历过将某些文本从 Word 复制到网站表单或其他内容中,所有引号 (')、双引号 (") 和破折号 (-) 都会出现乱码。我相信这些引号被称为“智能引号”或“ Typographer's Quotes”,但我不知道破折号的名称。有没有包含这些字符的类别?还有更多吗?

此类别的显着特征: 可通过普通 qwerty 键盘访问,并且很容易在视觉上误认为其 ASCII 等效项。

这个问题似乎在处理同样的问题:如何在字符串中转换 Word 智能引号和破折号? 另外,也许它们被称为“破折号”?