【发布时间】:2015-07-05 01:01:29
【问题描述】:
我正在解析来自 10 多种不同语言的 RSS 新闻提要。
在我用 php 编写的 API 响应客户端之前,所有的解析都在 java 中完成,数据存储在 MySQL 中。
我在读取数据时经常遇到乱码。
我尝试了什么:
- 我有configured my MySQL 来存储utf-8 数据。我的 db、table 甚至列都将 UTF8 作为其默认字符集。
- 在连接我的数据库时,我设置了character set results as utf-8
当我手动运行 jar 文件来插入数据时,字符看起来很好。但是当我为同一个 jar 文件设置一个 cronjob 时,我又开始面临这个问题。
在英语中,我特别面临this之类的问题,而在其他白话语言中,字符看起来完全是垃圾,我什至无法识别单个字符。
我有什么遗漏的吗?
垃圾字符示例:
古吉拉特语 :"રેલવે મà«àª¸àª¾àª«àª°à«€àª®àª¾àª, સામાન àªšà«‹àª°à «€ થશે તો મળશે વળતર!"
马来语 : "നേപàµà´ªà´¾à´³à´¿à´²àµ‡à´•àµà´•àµà´³àµà´³ à´•àµ‹à ´³àµâ€ നിരകàµà´•ൠകàµà´±à´šàµà´šàµ"
简体中文:银行局局将范围扩大到金融部门 PSU
【问题讨论】:
-
jar 文件如何组装它插入数据库的数据?通过标准输入?通过文件?
-
如果您需要特定帮助,您需要显示一些代码。
-
这里猜测,但系统默认代码页(由“cron”拾取)可能是“C”。即普通的老式ASCII。将您的 java 包装在设置环境“LANG=UTF-8”的脚本中。或者在您的 java 代码中以 UTF-8 显式打开文件。
标签: java php mysql utf-8 character-encoding