【问题标题】:hebrew encoding from MYSQL in ASP delivers?ASP 中来自 MYSQL 的希伯来语编码提供?
【发布时间】:2012-11-09 17:45:24
【问题描述】:

我已经为使用经典 ASP 和 MySQL 数据库作为后端的客户端构建了一个站点。 在测试服务器上一切正常,但是当我将站点转移到实时服务器时,从数据库中提取的所有希伯来语数据都是乱码......

数据库设置为 UTF-8。我用 phpmyadmin 检查了数据库内容,希伯来文是可读的。

看起来问题出在 ODBC 驱动程序上。在我的服务器上,我正在使用 ODBC 5.1,而在实时服务器上,他们仍在使用 3.51... 显然,希伯来语是这个 odbc 驱动程序的问题,但托管公司拒绝更新,即使它是以色列托管公司... .

我的数据库连接字符串如下所示:

"DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=100298270_dbname;UID=username;PASSWORD=pass;OPTION=0;charset=utf8;"

所以,经过几个小时的阅读,我找到了以下解决方案,但都没有帮助:

  1. 在其他查询之前在数据库上运行此查询:

    设置名称 utf8"

  2. 运行所有这些查询:

    调用 SqlQuery("SET character_set_client=utf8") 调用 SqlQuery("SET character_set_connection=utf8") 调用 SqlQuery("SET character_set_database=utf8") 调用 SqlQuery("SET character_set_results=utf8") 调用 SqlQuery("SET character_set_server=utf8") 调用 SqlQuery("SET NAMES utf8")

但是当我运行它们时似乎没有任何改变 '我尝试实施此解决方案MySQL ODBC 3.51 Driver UTF-8 encoding,但由于我只能访问托管的 PLESK 控制面板,因此我只能创建默认 DSN 连接。

我与托管公司的技术支持人员进行了交谈,他们说其他 ASP 站点工作正常(尽管 3.5 ODBC 驱动程序不支持 unicode 是一个已知问题),所以我必须自己找到解决方案。 .. 有人告诉我使用“无 DSN 连接...”连接到 MySQL 数据库...

谁有我的解决方案?

【问题讨论】:

  • 我遇到了同样的问题。您必须升级到 ODBC 5.1
  • 我知道这是旧的,但你解决了这个问题吗?您可以在此处发布解决方案以帮助其他人吗?
  • 据我所知,唯一的解决方案是升级 ODBC 驱动程序......我认为在这种特殊情况下,我不得不搬到另一家托管公司......

标签: mysql asp-classic odbc


【解决方案1】:

您还必须更改 CodePage,因为 ASP 默认使用 ANSI 代码页。

http://msdn.microsoft.com/en-us/library/ms524628(v=vs.90).aspx

您还需要确保您的字符集设置为 UTF-8

Response.Codepage = 65001  'Forces ASP to use UTF-8 for string encoding
Response.Charset = "UTF-8" 'Sets charset variable of content type response header
Response.LCID = 1037 'Hebrew Locale ID

您可能还需要添加 HTML 元标记来强制浏览器使用 UTF-8。

<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />

还可以尝试将其附加到每个查询的开头:

SET NAMES HEBREW

【讨论】:

  • 没有改进 :(...已经设置了元和代码页,所以添加了另外两个,但文本仍然是乱码...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
相关资源
最近更新 更多