java - 正确地将 Microsoft Office 文档中的复制/粘贴文本存储到 MySQL 数据库中

标签 java encoding utf-8

我知道 Microsoft Office 使用不同的编码,当有人将文本从 Office 复制并粘贴到 java 文本面板时,它看起来没问题。但随后您将其存储到 MySQL 数据库中并检索它。突然变成了各种垃圾拉丁字符。

我尝试将其转换为 utf-8在商店之前,但似乎不起作用。

想知道您是否可以检测文本中是否有拉丁字符,因此我可以简单地弹出一个警报,让用户在保存之前知道。

或者,如果有办法禁用 jTextField 仅以 UTF-8 字符显示所有内容,这样当用户从 Word 复制和粘贴时,它会自动显示所有随机代码,而不是看起来很好(在开始时)

示例:当用户在 word 中输入内容并粘贴到 jTextField 时,我们直接传递字符串(注意我们的 sql 数据库是 utf8_general_ci ),然后我们将其提取到 JPanel,我们得到:

â€ââââ‚

最佳答案

我也遇到过类似的问题。首先要做的是找出数据库中到底写入了什么。这对于 MySQL 来说非常简单,只需登录并运行

SELECT HEX( column ) FROM table;

这将为您提供已写入表中的字节。然后您可以使用 an app I wrote正是为了这个目的。获取从 MySQL 返回的十六进制字符串和 give it to the main class使用 -b 标志表示字节。您将获得一大堆输出,希望其中一个是您最初拥有的输出。

一旦您知道它的存储方式,您就可以作为调试的起点。

关于java - 正确地将 Microsoft Office 文档中的复制/粘贴文本存储到 MySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254739/

相关文章:

java - 使用 Android 前台服务为 MediaPlayer 创建通知

c# - AWS Lambda/API 网关上的文件编码问题

Java:为什么 (int) += (double) 不会导致 "incompatible types"错误?

java - 为 Hadoop 作业指定 UTF-8 编码

Android 媒体编解码器类型 "video/mp4v-es"- 是否与 MPEG-4 第 2 部分(MPEG-4 视觉效果)相同?

Javascript 非 UTF-8 字符搜索 Google Chrome 扩展程序

Java URLConnection utf-8 编码不起作用

java - 用于读取 UTF-8 csv 和 excel 文件的字节顺序标记

java - 如何关闭与netty CorsHandler的连接

java - 并发编程。使用机器人卡雷尔