diff --git a/aws-sdk-resources/lib/aws-sdk-resources.rb b/aws-sdk-resources/lib/aws-sdk-resources.rb
index <HASH>..<HASH> 100644
--- a/aws-sdk-resources/lib/aws-sdk-resources.rb
+++ b/aws-sdk-resources/lib/aws-sdk-resources.rb
@@ -34,7 +34,9 @@ module Aws
       # @api private
       def definition(options)
         namespace, path = options.values_at(:namespace, :definition)
-        Definition.new(namespace, MultiJson.load(File.read(path), path: path))
+        source = File.open(path, 'r', encoding: 'UTF-8') { |f| f.read }
+        source = MultiJson.load(source)
+        Definition.new(namespace, source, source_path: path)
       end
 
     end
diff --git a/aws-sdk-resources/lib/aws/resource/definition.rb b/aws-sdk-resources/lib/aws/resource/definition.rb
index <HASH>..<HASH> 100644
--- a/aws-sdk-resources/lib/aws/resource/definition.rb
+++ b/aws-sdk-resources/lib/aws/resource/definition.rb
@@ -11,7 +11,7 @@ module Aws
       def initialize(namespace, source, options = {})
         @namespace = namespace
         @source = source
-        @source_path = options[:path]
+        @source_path = options[:source_path]
       end
 
       # @param [String] service_name
Now reading resource definitions files with utf-8 encoding.