从 MS Word 粘贴时出现 PHP 和撇号的编码问题

发布于 2024-10-13 05:40:18 字数 125 浏览 4 评论 0原文

我有一个通过电子邮件发送到我的电子邮件地址的表格。一切正常,除非有人将 MS Word 中的内容粘贴到表单中。所有文本都通过了,但是撇号和双引号上的编码都搞乱了。他们以奇怪的角色出现。

有什么办法可以轻松解决这个问题吗?

I have a form that emails to my email address. Everything works fine, except when someone pastes something from MS Word into the form. All the text comes through, but the encoding on the apostrophes and double quotes are all messed up. They come through as strange characters.

Is there anyway to easily fix this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

静赏你的温柔 2024-10-20 05:40:18

对我来说,这个解决方案工作正常:

将 Windows 转换的字符串转换为 utf-8。

$str = iconv("cp1252","UTF-8", $str);
  • cp866 MS DOS 西里尔文
  • cp1251 Windows 西里尔文
  • cp1253 Windows 西欧语言

有关 iconv 的更多信息()

For me this solution works fine:

Convert windows converted string to utf-8.

$str = iconv("cp1252","UTF-8", $str);
  • cp866 MS DOS Cyrillic
  • cp1251 Windows Cyrillic
  • cp1253 Windows west european language

Futher information about iconv()

櫻之舞 2024-10-20 05:40:18

MS Word 使用在 UTF8 下无效的撇号和引号。这是一篇关于它的文章:

PHP - 摆脱大写撇号

MS Word uses apostrophes and quotes that are not valid under UTF8. Here's an article on SO about it:

PHP - Getting rid of curly apostrophes

伤感在游骋 2024-10-20 05:40:18

您是否尝试过使用 strip_tags()

Have you tried using strip_tags() ?

血之狂魔 2024-10-20 05:40:18

您需要在表单 html 页面和生成电子邮件内容的页面上具有相同的字符集。例如,在显示表单的html页面上设置utf-8。另外,在提交时创建邮件消息时,将标头中的字符集设置为 utf-8。效果很好。
如果您使用 phpmailer 发送电子邮件,则可以通过 phpmailer 类对象设置字符集,例如 $mail->Charset = 'utf-8'
当您在数据库中存储和检索时,这很有效。诀窍是始终保持编码方案相同。

You need to have same charset on both the form html page, and the page which generates the email content. For example, set utf-8 on the html page which displays the form. Also, when creating the mail message on submit, set the charset in header to be utf-8. That works fine.
If you are using phpmailer for email, then you can set the charset through the phpmailer class object like $mail->Charset = 'utf-8'
This works well when you are storing and retrieving from database. The trick is to keep the encoding scheme same all through.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文