The question is do you sell your products by weight or by piece ?
Item A weight 500g. Item B weight 2kg.
By weight:
If I have four item A in my cart, the cost will be the same as if I have one item B.
In that case, create a manual shipping method for each range of weight with the corresponding price.
By piece:
In that case, the weight is not relevant. If it costs X to ship item A, if I have four item A it will cost 4*X, which might or might not be different than the shipping cost of Y for item B.
In that case, create one manual shipping method with the option "shipping per product" activated and in each product, add a shipping fee for that shipping method for the product.
In both cases, the shipping methods can be restricted to a zone. So just create additional shipping methods for the different zones where you have different shipping costs. You can potentially create additional shipping zones via the menu System->Zones.