Utf 8 从microsoft word以utf8格式存储字符串

Utf 8 从microsoft word以utf8格式存储字符串,utf-8,ms-word,character,pasting,Utf 8,Ms Word,Character,Pasting,我在一个网站上工作,将允许企业存储描述。我目前遇到的问题是,从Microsoft word复制和粘贴文本时,字符串会返回到其他一些地方,但不会作为原始字符返回。我对utf8的工作原理没有最好的理解,但我认为它应该能够处理这个问题 我的问题是。我认为utf8将处理word中的字符是错误的。如果是这样,正确的方法是什么 我们有 <?xml version="1.0" encoding="UTF-8"?> 在每一页的顶部 Jave后端使用spring作为我们的框架 ibatis处理

我在一个网站上工作,将允许企业存储描述。我目前遇到的问题是,从Microsoft word复制和粘贴文本时,字符串会返回到其他一些地方,但不会作为原始字符返回。我对utf8的工作原理没有最好的理解,但我认为它应该能够处理这个问题

我的问题是。我认为utf8将处理word中的字符是错误的。如果是这样,正确的方法是什么

  • 我们有

    <?xml version="1.0" encoding="UTF-8"?>
    
    
    
    在每一页的顶部

  • Jave后端使用spring作为我们的框架
  • ibatis处理sql注入
  • 和数据库的mysql
当这些字符进入数据库时,它们正在被转换,并被保存为不同的字符。我已经做了大量的搜索,还没有得出一个好的结论,为什么他们正在被改变。正在切换的几个示例字符是:
来自word
–更改为–
从客户端网站下载
“到€”™
“去——”

我想这样做,他们将能够从几乎所有地方复制,它将格式正确。你建议我怎么做

解决了!! 这个问题最终成为我的web.xml配置的一个问题。我没有强迫网络使用spring的utf8配置。解决方案(如果使用弹簧)如下:

这个问题最终成为spring的配置问题。谢谢你的帮助。
弹簧配置:

`<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>`
`
编码滤波器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
强制编码
真的
编码滤波器
/*
`

如果使用UTF8将文本转换为字节,然后使用单字节ASCII编码读取字节,则会发生这种情况


您需要找出代码中发生这种情况的位置,并将其修复为以UTF8格式读取字节。

当您从Word复制文本时,Word将在Windows剪贴板上放置几种不同的格式(假设我们在这里讨论的是Word的Windows版本)。其中一些格式是标准格式,并有名称,如CF_TEXT、CF_UNICODETEXT等。据我所知,CF_UNICODETEXT始终是16位Unicode(“小端”类型),而不是UTF-8。只要从剪贴板获取数据的人知道这一点,它就应该能够正确地处理它。如果它将字符视为UTF-8,那么结果将是错误的。