`

ActionView::TemplateError (incompatible character encodings: ASCII-8BIT and UTF-

阅读更多
ruby 1.9.2和mysql 2.8.1的encode不匹配问题

mysql 2.8.1有时候明明返回的是utf8但是却告诉ruby是ascii所以



所以,要么呢装一个好点版本的msyql,要么呢,如下?

#lib/mysql_utf8.rb
require 'mysql'

class Mysql::Result
  def encode(value, encoding = "utf-8")
    String === value ? value.force_encoding(encoding) : value
  end
  
  def each_utf8(&block)
    each_orig do |row|
      yield row.map {|col| encode(col) }
    end
  end
  alias each_orig each
  alias each each_utf8

  def each_hash_utf8(&block)
    each_hash_orig do |row|
      row.each {|k, v| row[k] = encode(v) }
      yield(row)
    end
  end
  alias each_hash_orig each_hash
  alias each_hash each_hash_utf8
end




在environments相关环境里load一下,就可以了
  • 大小: 17 KB
分享到:
评论

相关推荐

    Ruby 与编码

    Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8

    sublime 编译sass时CompatibilityError

    然而,在使用 Sublime Text 编译 SASS 文件时,有时会遇到一个常见的编码问题:`Encoding::CompatibilityError: incompatible character encodings: GBK and UTF-8`。 #### 二、错误分析 该错误通常发生在 Sublime ...

    Linux下上QT实现人脸识别

    connect(&view, &QGraphicsView::customContextMenuRequested, &worker, &Worker::processFrame); connect(&worker, &Worker::frameProcessed, &scene, &QGraphicsScene::clear); connect(&worker, &Worker::...

    C++ Lambda Story - From C++98 to C++20.pdf

    **C++ Lambda表达式**是C++编程语言中一个强大的特性,从C++11标准开始引入,到C++20标准进一步增强。Lambda表达式允许程序员在代码中定义匿名函数,即没有名称的函数,这极大地提高了代码的灵活性和可读性。...

    this is incompatible with sql-mode=only-full-group-by

    this is incompatible with sql-mode=only-full-group-by

    用pylon5设置好IP摄像头OpenCV打开使用摄像头实例(C++)

    image = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC1, ptrGrabResult->GetBuffer()); // 在这里进行图像处理或显示 } } ``` **6. 结合OpenCV进行图像处理** 在转换后的`cv::Mat`...

    C++出错提示英汉对照表

    Bit field too large ----------------位字段太长 Call of non-function -----------------调用未定义的函数 Call to function with no prototype ---------------调用函数时没有函数的说明 Cannot modify a ...

    ArcGIS桌面工具--矢量数据导入elasticsearch

    在IT行业中,地理信息系统(GIS)是用于处理和分析地理空间数据的重要工具,而ArcGIS则是其中的佼佼者。本文将深入探讨如何利用ArcGIS桌面工具将矢量数据(如.shp文件)导入到Elasticsearch(ES)中,以便进行高效的...

    BSP_UART.rar_STM32f103 uart_bsp_uart_stm32 uart fifo

    STM32F103 UART(通用异步收发传输器)是STMicroelectronics公司生产的STM32系列微控制器中的一个重要通信接口。该芯片广泛应用于嵌入式系统中,为设备提供串行通信能力。在本教程中,我们将深入探讨如何在STM32F103...

    tcnative-1.dll

    严重: An incompatible version 1.1.31 of the APR based Apache Tomcat Native library is installed,  while Tomcat requires version 1.1.32 一月 10, 2018 4:52:07 下午 org.apache....

    lombok-plugin-0.28-2019.3.zip

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:...

    浅析打开eclipse出现Incompatible JVM的解决方法

    在使用Eclipse集成开发环境时,有时会遇到“Incompatible JVM”(不兼容的Java虚拟机)的问题,导致无法正常启动。这个问题通常是由于Eclipse所依赖的Java版本与系统当前配置的JVM版本不匹配造成的。本文将深入解析...

    【QGIS跨平台编译】之【protobuf跨平台编译】:Windows环境下编译成果(支撑QGIS跨平台编译,以及二次研发)

    一、内容概况 QGIS是一个开源的、跨平台的地理信息系统(GIS)软件,用于浏览、编辑和分析地理空间数据,提供了一套丰富的功能,包括地图制作、空间分析、数据管理等。QGIS可以在Windows、Mac OS和Linux等操作系统上...

    TypeError: _queue_reduction(): incompatible function arguments.

    TypeError: _queue_reduction(): incompatible function arguments. The following argument types are supported: 1. (process_group: torch.distributed.ProcessGroup, grads_batch: List[List[at::Tensor]], ...

    解决:protel 99se :format %x invalid or incompatible with argument问

    标题中的问题“protel 99se :format %x invalid or incompatible with argument”是一个常见的错误提示,通常在尝试运行或安装Protel 99SE软件时出现。这个错误表明程序在处理某种格式化字符串(%x)时遇到了不兼容...

    Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]异常处理

    在Android开发过程中,有时会遇到一个名为`INSTALL_FAILED_CPU_ABI_INCOMPATIBLE`的错误,这通常是由于应用程序与模拟器或设备的CPU架构不兼容所导致的。此问题主要出现在尝试在非ARM架构的设备(如使用x86或x86_64...

    MS-DOS 5.0

    2.1 Priam and Everex Hard Disks 2.2 SyQuest Removable Hard Disk 2.3 Bernoulli Drive 2.4 Disk Manager 2.5 SpeedStor and Volume Expansion 2.6 Novell Partitions 2.7 Vfeature Deluxe 2.8 Columbia ...

    INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    问题:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决:android:sharedUserId="android.uid.system" <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>

    arm64-v8a三件套libcrypto.a\libcurl.a\libssl.a,人人为我,我为人人!

    在Android平台上,开发人员经常需要处理各种库文件以实现特定的功能。在这个场景中,我们讨论的是"arm64-v8a"架构下的三件套库文件:libcrypto.a、libcurl.a和libssl.a。这三者在IT领域中扮演着重要的角色,特别是在...

    lombok-plugin-0.30-2020.1foridea.zip

    IDEA离线安装插件lombok-plugin-0.30-2020.1,请与...VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 10.14.6 GC: ParNew, ConcurrentMarkSweep Memory: 989M Cores: 8 Non-Bundled Plugins: Lombook Plugin

Global site tag (gtag.js) - Google Analytics