相关疑难解决方法(0)

如何让UTF-8在Java webapps中运行?

我需要在我的Java webapp(servlets + JSP,没有使用框架)中使用UTF-8来支持äöå常规芬兰语文本和???特殊情况下的西里尔字母.

我的设置如下:

  • 开发环境:Windows XP
  • 制作环境:Debian

使用的数据库:MySQL 5.x.

用户主要使用Firefox2,但Opera 9.x,FF3,IE7和谷歌Chrome也用于访问该网站.

怎么做到这一点?

java mysql encoding tomcat utf-8

363
推荐指数
3
解决办法
21万
查看次数

使用chardet通过JDBC检测MySQL数据库中的错误编码

最近我们将mysql数据库从Latin1移到了UTF8.在尝试了几种不同的方法来转换它之后,我们无法找到任何不会引入一些非常令人讨厌的数据集(并且很多都没有做任何事情).

这让我想知道我们是否有很多不同的编码正在进行,因为似乎没有一种方法可以覆盖我们的测试用例(数据库中的各个帖子).为了测试这个理论,我写了一个小scala应用程序(我的第一个,随意取笑它是如何拼凑和非惯用的!:D)使用chardet查看帖子并告诉我编码.

只有一个问题,一切都是UTF8.

这是代码:

package main.scala

import org.mozilla.universalchardet.UniversalDetector
import java.sql.DriverManager

object DBConvert {
  def main(args: Array[String]) {
    val detector = new UniversalDetector(null)
    val db_conn_str = "jdbc:mysql://localhost:3306/mt_pre?user=root"
    val connection = DriverManager.getConnection(db_conn_str)

    try {
        val statement = connection.createStatement()
        val rs = statement.executeQuery("SELECT * FROM mt_entry where entry_id = 3886")
        while (rs.next) {
           val buffer = rs.getBytes("entry_text_more")
           detector.handleData(buffer, 0, buffer.length)
           detector.dataEnd()

           val encoding:String = detector.getDetectedCharset;

           if (encoding != null) println("Detected encoding = " + encoding) else println("No encoding detected.");

           detector.reset();

           // Just so …
Run Code Online (Sandbox Code Playgroud)

java mysql scala jdbc

11
推荐指数
1
解决办法
839
查看次数

Java将Windows-1252转换为UTF-8,有些字母错误

我从外部Microsoft SQL 2008数据库接收数据(我使用MyBatis进行查询).在理论上,我在"Windows-1252"上接收数据编码.

我用这段代码尝试解码数据:

String textoFormado = ...来自MyBatis的价值......;

String s = new String(textoFormado.getBytes("Windows-1252"),"UTF-8");

几乎所有String都被正确解码.但是有一些字母没有.

例如:

  1. 我从数据库收到这个字符串:" vila"
  2. 我使用上面的代码,这使得这个字符串:" ?vila"
  3. 我期待这个字符串:"Ávila"

java utf-8 windows-1252 utf8-decode

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×3

mysql ×2

utf-8 ×2

encoding ×1

jdbc ×1

scala ×1

tomcat ×1

utf8-decode ×1

windows-1252 ×1