小编Mat*_*att的帖子

将UTF-8编码转储加载到MySQL中

我昨天几个小时一直在听这个问题:

我在MySQL 4.1.22服务器上有一个数据库,编码设置为"UTF-8 Unicode(utf8)"(由phpMyAdmin报告).此数据库中的表将默认字符集设置为latin2.但是,使用它的Web应用程序(用PHP编写的CMS Made Simple)在utf8中显示页面...

无论如何搞砸了,它确实有效.Web应用程序正确显示字符(主要使用捷克语和波兰语).

我运行:"mysqldump -u xxx -p -h yyy dbname> dump.sql".这给了我一个SQL脚本:

  • 在以UTF-8显示时,在任何编辑器(如记事本+)中看起来都很完美- 所有字符都能正常显示
  • 脚本中的所有表都将默认字符集设置为latin2
  • 它有"/*!40101 SET NAMES latin2*/;" 开头的行(在其他设置中)

现在,我想将此数据库导出到在MySQL 5.0.67上运行的另一台服务器,同时将服务器编码设置为"UTF-8 Unicode(utf8)".我复制了整个CMS Made Simple安装,复制了dump.sql脚本并运行了"mysql -h ddd -u zzz -p dbname <dump.sql".之后,在显示CMSMS网页时,所有字符都会被加扰.

我尝试设置:
SET character_set_client = utf8;
SET character_set_connection = latin2;

和所有组合(只是为了安全,即使它对我没有任何意义):latin2/utf8,latin2/latin2,utf8/utf8等 - 没有帮助.所有角色仍然在争吵,但有时以不同的方式:).

我还尝试用脚本中的utf8替换所有latin2设置(为表设置名称和默认字符集).没有.

这里有没有MySQL专家可以用几句话来解释(我相信它毕竟很简单)这整个编码的东西真的有用吗?我看了9.1.4.连接字符集和排序,但没有找到任何帮助.

谢谢,马特

mysql encoding utf-8

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

要添加什么Jersey依赖以避免jersey.repackaged.com.google.common.collect.Maps的NoClassDefFoundError

我正在尝试运行一个扩展的测试,JerseyTest但在运行它时,我得到一个:

java.lang.NoClassDefFoundError: jersey/repackaged/com/google/common/collect/Maps
Run Code Online (Sandbox Code Playgroud)

知道我缺少什么依赖吗?我在我pom.xml和jersey中包含了以下球衣文物.版本是2.5.1:

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>${jersey.version}</version>
    </dependency>

    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>${jersey.version}</version>
    </dependency>        

    <dependency>
        <groupId>com.sun.jersey.jersey-test-framework</groupId>
        <artifactId>jersey-test-framework-core</artifactId>
        <version>1.18</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.glassfish.jersey.test-framework.providers</groupId>
        <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
        <version>2.6</version>
        <scope>test</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

java jersey

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

为什么YAML.safe_load在YAML别名上失败?

我的Rails应用程序中的一个语言环境文件可以正常使用Rails,但是当我尝试将它与react_on_rails一起使用时rake task(rake react_on_rails:locale)我收到此错误:

Psych::BadAlias: Unknown alias: item_attributes
Run Code Online (Sandbox Code Playgroud)

我发现rake任务基本上是调用YAML.safe_load,所以我准备了没有Rails的最简单的例子,错误仍然存​​在.这是示例Ruby脚本:

require 'yaml'

YAML.safe_load(File.open('test.yml'))
Run Code Online (Sandbox Code Playgroud)

这是test.yml文件(实际语言环境文件的较短版本):

pl:
  language: Polski
  dictionary_name: simple
  activerecord:
    attributes:
      line_item: &item_attributes
        variant: Produkt
        quantity: Ilosc
        price: Cena Netto
        total_price: Wartosc Netto
        vat_rate: VAT
        total_vat_amount: Kwota VAT
        total_gross_price: Wartosc Brutto
      order_item:
        <<: *item_attributes
Run Code Online (Sandbox Code Playgroud)

我仍然收到错误:

/usr/local/Cellar/ruby/2.3.1/lib/ruby/2.3.0/psych/visitors/to_ruby.rb:402:in `visit_Psych_Nodes_Alias': Unknown alias: item_attributes (Psych::BadAlias)
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这与Rails工作正常但在这里失败?是否有其他方法可以避免YAML文件中的重复并使其适用于Rails和YAML.safe_load

ruby yaml ruby-on-rails react-on-rails

7
推荐指数
1
解决办法
4174
查看次数

为什么每次运行/调试我的应用程序时,RubyMine 2.0.2都会在不同的端口启动Webrick?

每次我在RubyMine下启动Rails 2.3.8 webapp时,它都使用不同的端口.这让我很生气,因为每次我想测试一些东西时我都要在浏览器中更改URL.我无法找到任何配置选项来更改它.任何人?

ruby-on-rails rubymine webrick

3
推荐指数
1
解决办法
1437
查看次数

如何在RoR中生成唯一的匿名用户名?

我想在创建User模型的实例时生成唯一的匿名用户名.理想情况下,如果我没有指定任何用户名,它将默认设置.

所以例如当我做User.create!()时我想将用户名列设置为'anonymous123',其中123是从序列中获取的唯一编号(该实例的id列的值将是ok ).

ruby-on-rails

2
推荐指数
1
解决办法
1874
查看次数

在每个数组元素上应用不同函数的最短方法是什么?

假设我有许多相同大小的数组,包含一些元素,例如其中一个可能是:

arr = ['a', 'b', 'c', 'd']

我想在每个元素上调用一个不同的函数,具体取决于它的索引,所以我可以这样做:

arr.each_with_index do do |el, idx| 
  case idx
  when 0
    functionA el
  when 1
    functionB el
  # and so on..
  end
end
Run Code Online (Sandbox Code Playgroud)

有没有更短的方法来做到这一点?类似于分配给变量的东西:

a, b, c, d = arr
Run Code Online (Sandbox Code Playgroud)

但我想调用函数,而不是做任务.

ruby

2
推荐指数
1
解决办法
103
查看次数